<html>
<head>
<base href="https://www.test.com/">
<script>
if (window.testRunner)
    testRunner.dumpAsText();

window.onload = function(){
    var msg;
    try {
        window.history.replaceState({}, {}, 'https://www.test.com/');
        msg = document.createTextNode("FAIL: URL bar was changed.");
    } catch (e) {
        if (e.code == 18)
            msg = document.createTextNode("PASS: Security exception thrown.");
        else
            msg = document.createTextNode("FAIL: Unknown exception thrown.");
    }
    document.body.appendChild(msg);
};
</script>
</head>
<body>
<p>This page should trigger an error on attempting to set the URL bar to https://www.test.com/</p>
</body>
</html>
