<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>window.performance User Timing mark() method is throwing the proper exceptions</title>
        <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
        <link rel="help" href="http://w3c.github.io/user-timing/#dom-performance-mark"/>
        <script src="/resources/testharness.js"></script>
        <script src="/resources/testharnessreport.js"></script>
        <script src="resources/webperftestharness.js"></script>

    <script>
function test_exception(attrName) {
    test(function () {
        assert_throws(new SyntaxError(), function () {
            window.performance.mark(attrName);
        })
    }, "window.performance.mark(\"" + attrName + "\") throws a SyntaxError exception.");
}

// loop through mark scenarios
for (var i in timingAttributes) {
    test_exception(timingAttributes[i]);
}
    </script>
    </head>
    <body>
        <h1>Description</h1>
        <p>This test validates that the performance.mark() method throws a SYNTAX_ERR exception whenever a navigation
           timing attribute is provided for the name parameter.
        </p>

        <div id="log"></div>
    </body>
</html>
