<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/js-test-pre.js"></script>
<script>
jsTestIsAsync = true;

if (window.testRunner) {
    testRunner.waitUntilDone();
    testRunner.setCanOpenWindows();
}

description("Tests that invalid characters are ignored after a window property value.");

var w = window.open("resources/window-property-invalid-characters-ignored.html", "blank", "width=123\u0130,height=123\u0130");

function finishTest()
{
    shouldBe("w.innerWidth", "123");
    shouldBe("w.innerHeight", "123");
    shouldBeTrue("w !== window");
    w.close();

    finishJSTest();
}

successfullyParsed = true;
</script>
<script src="../../../resources/js-test-post.js"></script>
</head>
<body>
<pre id="console"></pre>
</body>
</html>
