<html>
<head>
<script src="../../../../resources/js-test-pre.js"></script>
<script src="../../../../fast/dom/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>
<p id="description"></p>
<div id="console"></div>
<script>

function runTest()
{
    description("This tests wrapper identity for Objective-C.");
    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++) //>
        testObjC(tests[i]);
        
    // Not yet tested -- most interesting parts of the DOM, like the tests in
    // wrapper-classes.html.
}

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