<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript">
        function runTests()
        {
            if (window.testRunner)
                testRunner.dumpAsText();

            console.log("console.log() called.");
            console.info("console.info() called.");
            console.warn("console.warn() called.");
            console.error("console.error() called.");
        }
    </script>
</head>
<body onload="runTests();">
    <p>Tests window.console functions.  To make sure this test passed you must check the console for the following 4 messages:</p>
    <ul>
        <li>console.log() called.</li>
        <li>console.info() called.</li>
        <li>console.warn() called.</li>
        <li>console.error() called.</li>
    </ul>
</body>
</html>
