<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
<script src="resources/wrapper-identity-base.js"></script>

<style id="style" media="screen">
.non-existent-class {
    color: black;
    clip: rect(0, 0, 1, 1);
    content: counter(dummy, square);
}
</style>
</head>
<body>
<script>

function runTest()
{
    description("This tests wrapper identity for JavaScript");
    if (!window.testRunner)
        debug("The ObjC tests only work in DumpRenderTree.\n");
    
    var tests = [ ];
    tests.push("[ ]");
    tests.push("{ }");
    tests.push("new Array()");
    tests.push("new RegExp()");
    tests.push("new String()");
    for (var i = 0; i < staticWindowProperties.length; i++) //>
        tests.push("window['" + staticWindowProperties[i] + "']");
        
    for (var i = 0; i < tests.length; i++) //>
        testJS(tests[i]);
        
    // Not yet tested -- most interesting parts of the DOM, like the tests in
    // wrapper-classes.html.
}

window.onload = runTest;
</script>
</body>
</html>
