blob: e266d05837f52cf56eb89aad69449ccc742ddc4a [file] [log] [blame]
// We use a static list of window properties to avoid breaking when new properties are added.
var staticWindowProperties = [
'CSSPrimitiveValue',
'CSSRule',
'CSSStyleDeclaration',
'CSSValue',
'CSSCharsetRule',
'CSSImportRule',
'CSSMediaRule',
'CSSFontFaceRule',
'CSSPageRule',
'CSSVariablesRule',
'CSSKeyframeRule',
'CSSKeyframesRule',
'DOMException',
'DOMParser',
'Document',
'DocumentFragment',
'Element',
'EvalError',
'Event',
'HTMLAnchorElement',
'HTMLAppletElement',
'HTMLAreaElement',
'HTMLBRElement',
'HTMLBaseElement',
'HTMLBaseFontElement',
'HTMLBodyElement',
'HTMLButtonElement',
'HTMLCanvasElement',
'HTMLDListElement',
'HTMLDirectoryElement',
'HTMLDivElement',
'HTMLDocument',
'HTMLElement',
'HTMLFieldSetElement',
'HTMLFontElement',
'HTMLFormElement',
'HTMLHRElement',
'HTMLHeadElement',
'HTMLHeadingElement',
'HTMLHtmlElement',
'HTMLImageElement',
'HTMLInputElement',
'HTMLIsIndexElement',
'HTMLLIElement',
'HTMLLabelElement',
'HTMLLegendElement',
'HTMLLinkElement',
'HTMLMapElement',
'HTMLMenuElement',
'HTMLMetaElement',
'HTMLModElement',
'HTMLOListElement',
'HTMLOptGroupElement',
'HTMLOptionElement',
'HTMLParagraphElement',
'HTMLParamElement',
'HTMLPreElement',
'HTMLQuoteElement',
'HTMLScriptElement',
'HTMLSelectElement',
'HTMLStyleElement',
'HTMLTextAreaElement',
'HTMLTitleElement',
'HTMLUListElement',
'Image',
'MutationEvent',
'Node',
'NodeFilter',
'Option',
'Range',
'RangeError',
'RangeException',
'ReferenceError',
'SyntaxError',
'TypeError',
'URIError',
'XMLDocument',
'XMLHttpRequest',
'XMLSerializer',
'XPathEvaluator',
'XPathResult',
'XSLTProcessor',
'addEventListener',
'alert',
'atob',
'blur',
'btoa',
'captureEvents',
'clearInterval',
'clearTimeout',
'clientInformation',
'close',
'closed',
'confirm',
'console',
'crypto',
'defaultStatus',
'defaultstatus',
'document',
'event',
'find',
'focus',
'frameElement',
'frames',
'getComputedStyle',
'getMatchedCSSRules',
'getSelection',
'history',
'location',
'locationbar',
'log',
'menubar',
'moveBy',
'moveTo',
'name',
'navigator',
'offscreenBuffering',
'onabort',
'onbeforeunload',
'onblur',
'onchange',
'onclick',
'ondblclick',
'onerror',
'onfocus',
'onkeydown',
'onkeypress',
'onkeyup',
'onload',
'onmousedown',
'onmousemove',
'onmouseout',
'onmouseover',
'onmouseup',
'onmousewheel',
'onreset',
'onresize',
'onscroll',
'onsearch',
'onselect',
'onsubmit',
'onunload',
'open',
'opener',
'parent',
'personalbar',
'print',
'prompt',
'releaseEvents',
'removeEventListener',
'resizeBy',
'resizeTo',
'screen',
'scroll',
'scrollBy',
'scrollTo',
'scrollbars',
'self',
'setInterval',
'setTimeout',
'showModalDialog',
'status',
'statusbar',
'stop',
'test',
'toolbar',
'top',
'window'
];
function isEqualJS(a, b)
{
return a === b;
}
function isEqualObjC(a, b)
{
return Boolean(objCController.identityIsEqual(a, b));
}
function testJS(s)
{
shouldBeTrue("var object = " + s + "; isEqualJS(object, object);");
}
function testObjC(s)
{
shouldBeTrue("var object = " + s + "; isEqualObjC(object, object);");
}