+2007-09-05 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Same and Darin
+
+ Split the wrapper test into seperate Obj-C and JS tests so the we can use the JS tests on other platforms.
+
+ * fast/dom/resources/wrapper-identity-base.js: Added -- This provides the basic utility functions and
+ variables needed for the wrapper tests
+ * fast/dom/wrapper-identity-expected.txt: Added.
+ * fast/dom/wrapper-identity.html: Added.
+ * platform/mac/fast/dom/objc-wrapper-identity-expected.txt: Copied from platform/mac/fast/dom/wrapper-identity-expected.txt.
+ * platform/mac/fast/dom/objc-wrapper-identity.html: Copied from platform/mac/fast/dom/wrapper-identity.html.
+ * platform/mac/fast/dom/wrapper-identity-expected.txt: Removed.
+ * platform/mac/fast/dom/wrapper-identity.html: Removed.
+
2007-09-06 Sam Weinig <sam@webkit.org>
Reviewed by Adam Roben.
-<html>
-<head>
-<link rel="stylesheet" href="../../../../fast/js/resources/js-test-style.css">
-<script src="../../../../fast/js/resources/js-test-pre.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>
// We use a static list of window properties to avoid breaking when new properties are added.
var staticWindowProperties = [
'CSSPrimitiveValue',
'window'
];
+
function isEqualJS(a, b)
{
return a === b;
{
shouldBeTrue("var object = " + s + "; isEqualObjC(object, object);");
}
-
-function runTest()
-{
- description("This tests wrapper identity for both JavaScript and Objective-C.");
- if (!window.layoutTestController)
- 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]);
-
- 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>
--- /dev/null
+This tests wrapper identity for JavaScript
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS var object = [ ]; isEqualJS(object, object); is true
+PASS var object = { }; isEqualJS(object, object); is true
+PASS var object = new Array(); isEqualJS(object, object); is true
+PASS var object = new RegExp(); isEqualJS(object, object); is true
+PASS var object = new String(); isEqualJS(object, object); is true
+PASS var object = window['CSSPrimitiveValue']; isEqualJS(object, object); is true
+PASS var object = window['CSSRule']; isEqualJS(object, object); is true
+PASS var object = window['CSSStyleDeclaration']; isEqualJS(object, object); is true
+PASS var object = window['CSSValue']; isEqualJS(object, object); is true
+PASS var object = window['DOMException']; isEqualJS(object, object); is true
+PASS var object = window['DOMParser']; isEqualJS(object, object); is true
+PASS var object = window['Document']; isEqualJS(object, object); is true
+PASS var object = window['DocumentFragment']; isEqualJS(object, object); is true
+PASS var object = window['Element']; isEqualJS(object, object); is true
+PASS var object = window['EvalError']; isEqualJS(object, object); is true
+PASS var object = window['Event']; isEqualJS(object, object); is true
+PASS var object = window['HTMLAnchorElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLAppletElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLAreaElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLBRElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLBaseElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLBaseFontElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLBodyElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLButtonElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLCanvasElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLDListElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLDirectoryElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLDivElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLDocument']; isEqualJS(object, object); is true
+PASS var object = window['HTMLElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLFieldSetElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLFontElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLFormElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLHRElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLHeadElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLHeadingElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLHtmlElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLImageElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLInputElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLIsIndexElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLLIElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLLabelElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLLegendElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLLinkElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLMapElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLMenuElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLMetaElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLModElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLOListElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLOptGroupElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLOptionElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLParagraphElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLParamElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLPreElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLQuoteElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLScriptElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLSelectElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLStyleElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLTextAreaElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLTitleElement']; isEqualJS(object, object); is true
+PASS var object = window['HTMLUListElement']; isEqualJS(object, object); is true
+PASS var object = window['Image']; isEqualJS(object, object); is true
+PASS var object = window['MutationEvent']; isEqualJS(object, object); is true
+PASS var object = window['Node']; isEqualJS(object, object); is true
+PASS var object = window['NodeFilter']; isEqualJS(object, object); is true
+PASS var object = window['Option']; isEqualJS(object, object); is true
+PASS var object = window['Range']; isEqualJS(object, object); is true
+PASS var object = window['RangeError']; isEqualJS(object, object); is true
+PASS var object = window['RangeException']; isEqualJS(object, object); is true
+PASS var object = window['ReferenceError']; isEqualJS(object, object); is true
+PASS var object = window['SyntaxError']; isEqualJS(object, object); is true
+PASS var object = window['TypeError']; isEqualJS(object, object); is true
+PASS var object = window['URIError']; isEqualJS(object, object); is true
+PASS var object = window['XMLDocument']; isEqualJS(object, object); is true
+PASS var object = window['XMLHttpRequest']; isEqualJS(object, object); is true
+PASS var object = window['XMLSerializer']; isEqualJS(object, object); is true
+PASS var object = window['XPathEvaluator']; isEqualJS(object, object); is true
+PASS var object = window['XPathResult']; isEqualJS(object, object); is true
+PASS var object = window['XSLTProcessor']; isEqualJS(object, object); is true
+PASS var object = window['addEventListener']; isEqualJS(object, object); is true
+PASS var object = window['alert']; isEqualJS(object, object); is true
+PASS var object = window['atob']; isEqualJS(object, object); is true
+PASS var object = window['blur']; isEqualJS(object, object); is true
+PASS var object = window['btoa']; isEqualJS(object, object); is true
+PASS var object = window['captureEvents']; isEqualJS(object, object); is true
+PASS var object = window['clearInterval']; isEqualJS(object, object); is true
+PASS var object = window['clearTimeout']; isEqualJS(object, object); is true
+PASS var object = window['clientInformation']; isEqualJS(object, object); is true
+PASS var object = window['close']; isEqualJS(object, object); is true
+PASS var object = window['closed']; isEqualJS(object, object); is true
+PASS var object = window['confirm']; isEqualJS(object, object); is true
+PASS var object = window['console']; isEqualJS(object, object); is true
+PASS var object = window['crypto']; isEqualJS(object, object); is true
+PASS var object = window['defaultStatus']; isEqualJS(object, object); is true
+PASS var object = window['defaultstatus']; isEqualJS(object, object); is true
+PASS var object = window['document']; isEqualJS(object, object); is true
+PASS var object = window['event']; isEqualJS(object, object); is true
+PASS var object = window['find']; isEqualJS(object, object); is true
+PASS var object = window['focus']; isEqualJS(object, object); is true
+PASS var object = window['frameElement']; isEqualJS(object, object); is true
+PASS var object = window['frames']; isEqualJS(object, object); is true
+PASS var object = window['getComputedStyle']; isEqualJS(object, object); is true
+PASS var object = window['getMatchedCSSRules']; isEqualJS(object, object); is true
+PASS var object = window['getSelection']; isEqualJS(object, object); is true
+PASS var object = window['history']; isEqualJS(object, object); is true
+PASS var object = window['location']; isEqualJS(object, object); is true
+PASS var object = window['locationbar']; isEqualJS(object, object); is true
+PASS var object = window['log']; isEqualJS(object, object); is true
+PASS var object = window['menubar']; isEqualJS(object, object); is true
+PASS var object = window['moveBy']; isEqualJS(object, object); is true
+PASS var object = window['moveTo']; isEqualJS(object, object); is true
+PASS var object = window['name']; isEqualJS(object, object); is true
+PASS var object = window['navigator']; isEqualJS(object, object); is true
+PASS var object = window['offscreenBuffering']; isEqualJS(object, object); is true
+PASS var object = window['onabort']; isEqualJS(object, object); is true
+PASS var object = window['onbeforeunload']; isEqualJS(object, object); is true
+PASS var object = window['onblur']; isEqualJS(object, object); is true
+PASS var object = window['onchange']; isEqualJS(object, object); is true
+PASS var object = window['onclick']; isEqualJS(object, object); is true
+PASS var object = window['ondblclick']; isEqualJS(object, object); is true
+PASS var object = window['onerror']; isEqualJS(object, object); is true
+PASS var object = window['onfocus']; isEqualJS(object, object); is true
+PASS var object = window['onkeydown']; isEqualJS(object, object); is true
+PASS var object = window['onkeypress']; isEqualJS(object, object); is true
+PASS var object = window['onkeyup']; isEqualJS(object, object); is true
+PASS var object = window['onload']; isEqualJS(object, object); is true
+PASS var object = window['onmousedown']; isEqualJS(object, object); is true
+PASS var object = window['onmousemove']; isEqualJS(object, object); is true
+PASS var object = window['onmouseout']; isEqualJS(object, object); is true
+PASS var object = window['onmouseover']; isEqualJS(object, object); is true
+PASS var object = window['onmouseup']; isEqualJS(object, object); is true
+PASS var object = window['onmousewheel']; isEqualJS(object, object); is true
+PASS var object = window['onreset']; isEqualJS(object, object); is true
+PASS var object = window['onresize']; isEqualJS(object, object); is true
+PASS var object = window['onscroll']; isEqualJS(object, object); is true
+PASS var object = window['onsearch']; isEqualJS(object, object); is true
+PASS var object = window['onselect']; isEqualJS(object, object); is true
+PASS var object = window['onsubmit']; isEqualJS(object, object); is true
+PASS var object = window['onunload']; isEqualJS(object, object); is true
+PASS var object = window['open']; isEqualJS(object, object); is true
+PASS var object = window['opener']; isEqualJS(object, object); is true
+PASS var object = window['parent']; isEqualJS(object, object); is true
+PASS var object = window['personalbar']; isEqualJS(object, object); is true
+PASS var object = window['print']; isEqualJS(object, object); is true
+PASS var object = window['prompt']; isEqualJS(object, object); is true
+PASS var object = window['releaseEvents']; isEqualJS(object, object); is true
+PASS var object = window['removeEventListener']; isEqualJS(object, object); is true
+PASS var object = window['resizeBy']; isEqualJS(object, object); is true
+PASS var object = window['resizeTo']; isEqualJS(object, object); is true
+PASS var object = window['screen']; isEqualJS(object, object); is true
+PASS var object = window['scroll']; isEqualJS(object, object); is true
+PASS var object = window['scrollBy']; isEqualJS(object, object); is true
+PASS var object = window['scrollTo']; isEqualJS(object, object); is true
+PASS var object = window['scrollbars']; isEqualJS(object, object); is true
+PASS var object = window['self']; isEqualJS(object, object); is true
+PASS var object = window['setInterval']; isEqualJS(object, object); is true
+PASS var object = window['setTimeout']; isEqualJS(object, object); is true
+PASS var object = window['showModalDialog']; isEqualJS(object, object); is true
+PASS var object = window['status']; isEqualJS(object, object); is true
+PASS var object = window['statusbar']; isEqualJS(object, object); is true
+PASS var object = window['stop']; isEqualJS(object, object); is true
+PASS var object = window['test']; isEqualJS(object, object); is true
+PASS var object = window['toolbar']; isEqualJS(object, object); is true
+PASS var object = window['top']; isEqualJS(object, object); is true
+PASS var object = window['window']; isEqualJS(object, object); is true
+
--- /dev/null
+<html>
+<head>
+<link rel="stylesheet" href="../js/resources/js-test-style.css">
+<script src="../js/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>
+<p id="description"></p>
+<div id="console"></div>
+<script>
+
+function runTest()
+{
+ description("This tests wrapper identity for JavaScript");
+ if (!window.layoutTestController)
+ 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>
-This tests wrapper identity for both JavaScript and Objective-C.
+This tests wrapper identity for Objective-C.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-PASS var object = [ ]; isEqualJS(object, object); is true
-PASS var object = { }; isEqualJS(object, object); is true
-PASS var object = new Array(); isEqualJS(object, object); is true
-PASS var object = new RegExp(); isEqualJS(object, object); is true
-PASS var object = new String(); isEqualJS(object, object); is true
-PASS var object = window['CSSPrimitiveValue']; isEqualJS(object, object); is true
-PASS var object = window['CSSRule']; isEqualJS(object, object); is true
-PASS var object = window['CSSStyleDeclaration']; isEqualJS(object, object); is true
-PASS var object = window['CSSValue']; isEqualJS(object, object); is true
-PASS var object = window['DOMException']; isEqualJS(object, object); is true
-PASS var object = window['DOMParser']; isEqualJS(object, object); is true
-PASS var object = window['Document']; isEqualJS(object, object); is true
-PASS var object = window['DocumentFragment']; isEqualJS(object, object); is true
-PASS var object = window['Element']; isEqualJS(object, object); is true
-PASS var object = window['EvalError']; isEqualJS(object, object); is true
-PASS var object = window['Event']; isEqualJS(object, object); is true
-PASS var object = window['HTMLAnchorElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLAppletElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLAreaElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLBRElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLBaseElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLBaseFontElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLBodyElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLButtonElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLCanvasElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLDListElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLDirectoryElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLDivElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLDocument']; isEqualJS(object, object); is true
-PASS var object = window['HTMLElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLFieldSetElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLFontElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLFormElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLHRElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLHeadElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLHeadingElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLHtmlElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLImageElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLInputElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLIsIndexElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLLIElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLLabelElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLLegendElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLLinkElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLMapElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLMenuElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLMetaElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLModElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLOListElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLOptGroupElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLOptionElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLParagraphElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLParamElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLPreElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLQuoteElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLScriptElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLSelectElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLStyleElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLTextAreaElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLTitleElement']; isEqualJS(object, object); is true
-PASS var object = window['HTMLUListElement']; isEqualJS(object, object); is true
-PASS var object = window['Image']; isEqualJS(object, object); is true
-PASS var object = window['MutationEvent']; isEqualJS(object, object); is true
-PASS var object = window['Node']; isEqualJS(object, object); is true
-PASS var object = window['NodeFilter']; isEqualJS(object, object); is true
-PASS var object = window['Option']; isEqualJS(object, object); is true
-PASS var object = window['Range']; isEqualJS(object, object); is true
-PASS var object = window['RangeError']; isEqualJS(object, object); is true
-PASS var object = window['RangeException']; isEqualJS(object, object); is true
-PASS var object = window['ReferenceError']; isEqualJS(object, object); is true
-PASS var object = window['SyntaxError']; isEqualJS(object, object); is true
-PASS var object = window['TypeError']; isEqualJS(object, object); is true
-PASS var object = window['URIError']; isEqualJS(object, object); is true
-PASS var object = window['XMLDocument']; isEqualJS(object, object); is true
-PASS var object = window['XMLHttpRequest']; isEqualJS(object, object); is true
-PASS var object = window['XMLSerializer']; isEqualJS(object, object); is true
-PASS var object = window['XPathEvaluator']; isEqualJS(object, object); is true
-PASS var object = window['XPathResult']; isEqualJS(object, object); is true
-PASS var object = window['XSLTProcessor']; isEqualJS(object, object); is true
-PASS var object = window['addEventListener']; isEqualJS(object, object); is true
-PASS var object = window['alert']; isEqualJS(object, object); is true
-PASS var object = window['atob']; isEqualJS(object, object); is true
-PASS var object = window['blur']; isEqualJS(object, object); is true
-PASS var object = window['btoa']; isEqualJS(object, object); is true
-PASS var object = window['captureEvents']; isEqualJS(object, object); is true
-PASS var object = window['clearInterval']; isEqualJS(object, object); is true
-PASS var object = window['clearTimeout']; isEqualJS(object, object); is true
-PASS var object = window['clientInformation']; isEqualJS(object, object); is true
-PASS var object = window['close']; isEqualJS(object, object); is true
-PASS var object = window['closed']; isEqualJS(object, object); is true
-PASS var object = window['confirm']; isEqualJS(object, object); is true
-PASS var object = window['console']; isEqualJS(object, object); is true
-PASS var object = window['crypto']; isEqualJS(object, object); is true
-PASS var object = window['defaultStatus']; isEqualJS(object, object); is true
-PASS var object = window['defaultstatus']; isEqualJS(object, object); is true
-PASS var object = window['document']; isEqualJS(object, object); is true
-PASS var object = window['event']; isEqualJS(object, object); is true
-PASS var object = window['find']; isEqualJS(object, object); is true
-PASS var object = window['focus']; isEqualJS(object, object); is true
-PASS var object = window['frameElement']; isEqualJS(object, object); is true
-PASS var object = window['frames']; isEqualJS(object, object); is true
-PASS var object = window['getComputedStyle']; isEqualJS(object, object); is true
-PASS var object = window['getMatchedCSSRules']; isEqualJS(object, object); is true
-PASS var object = window['getSelection']; isEqualJS(object, object); is true
-PASS var object = window['history']; isEqualJS(object, object); is true
-PASS var object = window['location']; isEqualJS(object, object); is true
-PASS var object = window['locationbar']; isEqualJS(object, object); is true
-PASS var object = window['log']; isEqualJS(object, object); is true
-PASS var object = window['menubar']; isEqualJS(object, object); is true
-PASS var object = window['moveBy']; isEqualJS(object, object); is true
-PASS var object = window['moveTo']; isEqualJS(object, object); is true
-PASS var object = window['name']; isEqualJS(object, object); is true
-PASS var object = window['navigator']; isEqualJS(object, object); is true
-PASS var object = window['offscreenBuffering']; isEqualJS(object, object); is true
-PASS var object = window['onabort']; isEqualJS(object, object); is true
-PASS var object = window['onbeforeunload']; isEqualJS(object, object); is true
-PASS var object = window['onblur']; isEqualJS(object, object); is true
-PASS var object = window['onchange']; isEqualJS(object, object); is true
-PASS var object = window['onclick']; isEqualJS(object, object); is true
-PASS var object = window['ondblclick']; isEqualJS(object, object); is true
-PASS var object = window['onerror']; isEqualJS(object, object); is true
-PASS var object = window['onfocus']; isEqualJS(object, object); is true
-PASS var object = window['onkeydown']; isEqualJS(object, object); is true
-PASS var object = window['onkeypress']; isEqualJS(object, object); is true
-PASS var object = window['onkeyup']; isEqualJS(object, object); is true
-PASS var object = window['onload']; isEqualJS(object, object); is true
-PASS var object = window['onmousedown']; isEqualJS(object, object); is true
-PASS var object = window['onmousemove']; isEqualJS(object, object); is true
-PASS var object = window['onmouseout']; isEqualJS(object, object); is true
-PASS var object = window['onmouseover']; isEqualJS(object, object); is true
-PASS var object = window['onmouseup']; isEqualJS(object, object); is true
-PASS var object = window['onmousewheel']; isEqualJS(object, object); is true
-PASS var object = window['onreset']; isEqualJS(object, object); is true
-PASS var object = window['onresize']; isEqualJS(object, object); is true
-PASS var object = window['onscroll']; isEqualJS(object, object); is true
-PASS var object = window['onsearch']; isEqualJS(object, object); is true
-PASS var object = window['onselect']; isEqualJS(object, object); is true
-PASS var object = window['onsubmit']; isEqualJS(object, object); is true
-PASS var object = window['onunload']; isEqualJS(object, object); is true
-PASS var object = window['open']; isEqualJS(object, object); is true
-PASS var object = window['opener']; isEqualJS(object, object); is true
-PASS var object = window['parent']; isEqualJS(object, object); is true
-PASS var object = window['personalbar']; isEqualJS(object, object); is true
-PASS var object = window['print']; isEqualJS(object, object); is true
-PASS var object = window['prompt']; isEqualJS(object, object); is true
-PASS var object = window['releaseEvents']; isEqualJS(object, object); is true
-PASS var object = window['removeEventListener']; isEqualJS(object, object); is true
-PASS var object = window['resizeBy']; isEqualJS(object, object); is true
-PASS var object = window['resizeTo']; isEqualJS(object, object); is true
-PASS var object = window['screen']; isEqualJS(object, object); is true
-PASS var object = window['scroll']; isEqualJS(object, object); is true
-PASS var object = window['scrollBy']; isEqualJS(object, object); is true
-PASS var object = window['scrollTo']; isEqualJS(object, object); is true
-PASS var object = window['scrollbars']; isEqualJS(object, object); is true
-PASS var object = window['self']; isEqualJS(object, object); is true
-PASS var object = window['setInterval']; isEqualJS(object, object); is true
-PASS var object = window['setTimeout']; isEqualJS(object, object); is true
-PASS var object = window['showModalDialog']; isEqualJS(object, object); is true
-PASS var object = window['status']; isEqualJS(object, object); is true
-PASS var object = window['statusbar']; isEqualJS(object, object); is true
-PASS var object = window['stop']; isEqualJS(object, object); is true
-PASS var object = window['test']; isEqualJS(object, object); is true
-PASS var object = window['toolbar']; isEqualJS(object, object); is true
-PASS var object = window['top']; isEqualJS(object, object); is true
-PASS var object = window['window']; isEqualJS(object, object); is true
PASS var object = [ ]; isEqualObjC(object, object); is true
PASS var object = { }; isEqualObjC(object, object); is true
PASS var object = new Array(); isEqualObjC(object, object); is true
--- /dev/null
+<html>
+<head>
+<link rel="stylesheet" href="../../../../fast/js/resources/js-test-style.css">
+<script src="../../../../fast/js/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.layoutTestController)
+ 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>