<html>
<head>
    <script src="resources/print.js"></script>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText();

        document.addEventListener("beforeload", function(event) {
            print("PASS", "green");
            event.preventDefault();
        }, true);
        
        document.addEventListener("load", function(event) {
            print("FAIL", "red");
        }, true);
    </script>
</head>
<body>
    <div id="target"></div>
    <div id="console"></div>
    <script>
        document.getElementById("target").innerHTML = "<img src='../../images/resources/test-load.jpg'>";
    </script>
</body>
</html>
