<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>exception test of performance.mark and performance.measure</title>
        <link rel="author" title="Intel" href="http://www.intel.com/" />
        <link rel="help" href="https://w3c.github.io/user-timing/#extensions-performance-interface"/>
        <script src="/resources/testharness.js"></script>
        <script src="/resources/testharnessreport.js"></script>
        <script src="resources/webperftestharness.js"></script>
    </head>
    <body>
        <h1>Description</h1>
        <p>This test validates exception scenarios of invoking mark() and measure() without parameter.</p>
        <div id="log"></div>
        <script>
test(function () {
    assert_throws(new TypeError(), function () { window.performance.mark() });
}, "window.performance.mark() throws a TypeError exception when invoke without a parameter.");

test(function () {
    assert_throws(new TypeError(), function () { window.performance.measure(); });
}, "window.performance.measure() throws a TypeError exception when invoke without a parameter.");
        </script>
    </body>
</html>
