<!doctype html>
<html>
<head>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText();

        var oldValue = document.documentURI;
        document.documentURI = 'http://fail.example.com/';
        if (document.documentURI === 'http://fail.example.com/')
            alert("FAIL: document.documentURI should be read only.");
        else if (document.documentURI === oldValue)
            alert("PASS: document.documentURI is read only.");
        else
            alert("FAIL: document.documentURI is weird: " + document.documentURI);
    </script>
</head>
<body>
    <p>
        This test ensures that document.documentURI is a readonly attribute.
        It passes if a "PASS" alert is displayed.
    </p>
</body>
</html>
