<html>
<head>
<script>
function debug(str) {
    pre = document.getElementById('console');
    text = document.createTextNode(str + '\n');
    pre.appendChild(text);
}

function runTests() {
    if (window.layoutTestController)
        layoutTestController.dumpAsText();

    if (document.compatMode == "BackCompat")
        debug('SUCCESS')
    else
        debug('FAILURE')
}

</script>
</head>
<body onload="runTests();">
This tests that compatMode returns 'BackCompat' when we are in quirk mode. If the test is sucessful, the text below should say "SUCCESS".
<pre id="console">
</pre>
</body>
</html>
