<html>
<head>
    <script src="../../../../resources/js-test-pre.js"></script>
    <script src="resources/location-tests-functions.js"></script>
</head>
<body>
<script>
    if (window.testRunner)
        testRunner.waitUntilDone();

    var result;
    function frameLoaded()
    {
        result = normalizeURL(String(window.frames[0].location));
        shouldBe("result", "'pass.html'");
        if (window.testRunner)
            testRunner.notifyDone();
    }
</script>
<iframe onload="frameLoaded()" src="resources/window-shadow-location-using-js-object-with-toString-iframe.html"></iframe>
<script src="../../../../resources/js-test-post.js"></script>
</body>
</html>
