<html>
<head>
    <title></title>
    <script type="text/javascript">
        if (window.layoutTestController)
            layoutTestController.dumpAsText();
        var caching = true;
    </script>
    <!-- cache the scripts -->
    <script type="text/javascript" src="resources/nested-1.js"></script>
    <script type="text/javascript" src="resources/nested-2.js"></script>
    <script type="text/javascript">
        caching = false;
    </script>
</head>
<body>
    <p>
        This is a regression test for
        <i><a href="http://bugzilla.opendarwin.org/show_bug.cgi?id=9674">http://bugzilla.opendarwin.org/show_bug.cgi?id=9674</a>
        REGRESSION (r15075): Blank or incomplete pages on digg.com</i>.
    </p>
    <p>
        It should say &ldquo;PASS&rdquo; under the line.
    </p>
    <hr>
    <script type="text/javascript" src="resources/nested-1.js"></script>
    <script type="text/javascript" src="resources/nested-1.js"></script>
    PASS
</body>
</html>
