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

        log = function(msg)
        {
            document.getElementById('console').appendChild(document.createTextNode(msg + "\n"));
        }
    
        onload = function()
        {
            if (!document.doctype)
                log("PASS: a doctype inside an Element was ignored.");
            else
                log("FAIL: a doctype inside an Element was not ignored.");
        }
    </script>
</head>
<body>
    <!DOCTYPE HTML>
    This tests the behavior of a Doctype inside an Element.
    <pre id="console"></pre>
</body>
</html>
