This tests wrapper class names for both JavaScript and Objective-C. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". Basics PASS jsWrapperClass(document.createAttribute()) is 'Attr' PASS jsWrapperClass(document.createComment()) is 'Comment' PASS jsWrapperClass(document.createDocumentFragment()) is 'DocumentFragment' PASS jsWrapperClass(document.implementation) is 'DOMImplementation' PASS jsWrapperClass(root.attributes) is 'NamedNodeMap' PASS jsWrapperClass(document.createNodeIterator(root, 0, null, false)) is 'NodeIterator' PASS jsWrapperClass(document.getElementsByTagName('div')) is 'NodeList' PASS jsWrapperClass(document.createRange()) is 'Range' PASS jsWrapperClass(document.createTextNode()) is 'Text' PASS jsWrapperClass(document.createTreeWalker(root, 0, null, false)) is 'TreeWalker' XML PASS jsWrapperClass(xmlDocument) is 'Document' PASS jsWrapperClass(xmlDocument.createCDATASection()) is 'CDATASection' PASS jsWrapperClass(xmlDocument.createElementNS('x', 'x', 'x')) is 'Element' PASS jsWrapperClass(xmlDocument.createEntityReference()) is 'EntityReference' PASS jsWrapperClass(xmlDocument.createProcessingInstruction()) is 'ProcessingInstruction' Events PASS jsWrapperClass(document.createEvent('Event')) is 'Event' PASS jsWrapperClass(document.createEvent('KeyboardEvent')) is 'KeyboardEvent' PASS jsWrapperClass(document.createEvent('MouseEvent')) is 'MouseEvent' PASS jsWrapperClass(document.createEvent('MutationEvent')) is 'MutationEvent' PASS jsWrapperClass(document.createEvent('OverflowEvent')) is 'OverflowEvent' PASS jsWrapperClass(document.createEvent('TextEvent')) is 'TextEvent' PASS jsWrapperClass(document.createEvent('UIEvent')) is 'UIEvent' PASS jsWrapperClass(document.createEvent('WheelEvent')) is 'WheelEvent' CSS DOM PASS jsWrapperClass(document.styleSheets) is 'StyleSheetList' PASS jsWrapperClass(stylesheet) is 'CSSStyleSheet' PASS jsWrapperClass(stylesheet.cssRules) is 'CSSRuleList' PASS jsWrapperClass(stylesheet.cssRules.item(0)) is 'CSSStyleRule' PASS jsWrapperClass(stylesheet.cssRules.item(0).style) is 'CSSStyleDeclaration' PASS jsWrapperClass(stylesheet.cssRules.item(0).style.getPropertyCSSValue('color')) is 'CSSPrimitiveValue' PASS jsWrapperClass(stylesheet.cssRules.item(0).style.getPropertyCSSValue('color').getRGBColorValue()) is 'RGBColor' PASS jsWrapperClass(stylesheet.cssRules.item(0).style.getPropertyCSSValue('clip').getRectValue()) is 'Rect' PASS jsWrapperClass(stylesheet.cssRules.item(0).style.getPropertyCSSValue('content')) is 'CSSValueList' PASS jsWrapperClass(stylesheet.cssRules.item(0).style.getPropertyCSSValue('content').item(0).getCounterValue()) is 'Counter' PASS jsWrapperClass(stylesheet.media) is 'MediaList' XPath PASS jsWrapperClass(document.createExpression('//*', document.createNSResolver(document))) is 'XPathExpression' PASS jsWrapperClass(document.evaluate('//*', document, document.createNSResolver(document), 0, null)) is 'XPathResult' Other PASS jsWrapperClass(window) is 'DOMWindow' HTML DOM PASS jsWrapperClass(root.children) is 'HTMLCollection' PASS jsWrapperClass(document) is 'HTMLDocument' PASS jsWrapperClass(document.createElement('select').options) is 'HTMLOptionsCollection' HTML Elements PASS tagJSWrapperClass('a') is 'HTMLAnchorElement' PASS tagJSWrapperClass('abbr') is 'HTMLElement' PASS tagJSWrapperClass('acronym') is 'HTMLElement' PASS tagJSWrapperClass('address') is 'HTMLElement' PASS tagJSWrapperClass('applet') is 'HTMLAppletElement' PASS tagJSWrapperClass('area') is 'HTMLAreaElement' PASS tagJSWrapperClass('b') is 'HTMLElement' PASS tagJSWrapperClass('base') is 'HTMLBaseElement' PASS tagJSWrapperClass('basefont') is 'HTMLBaseFontElement' PASS tagJSWrapperClass('bdo') is 'HTMLElement' PASS tagJSWrapperClass('big') is 'HTMLElement' PASS tagJSWrapperClass('blockquote') is 'HTMLBlockquoteElement' PASS tagJSWrapperClass('body') is 'HTMLBodyElement' PASS tagJSWrapperClass('br') is 'HTMLBRElement' PASS tagJSWrapperClass('button') is 'HTMLButtonElement' PASS tagJSWrapperClass('canvas') is 'HTMLCanvasElement' PASS tagJSWrapperClass('caption') is 'HTMLTableCaptionElement' PASS tagJSWrapperClass('center') is 'HTMLElement' PASS tagJSWrapperClass('cite') is 'HTMLElement' PASS tagJSWrapperClass('code') is 'HTMLElement' PASS tagJSWrapperClass('col') is 'HTMLTableColElement' PASS tagJSWrapperClass('colgroup') is 'HTMLTableColElement' PASS tagJSWrapperClass('dd') is 'HTMLElement' PASS tagJSWrapperClass('del') is 'HTMLModElement' PASS tagJSWrapperClass('dfn') is 'HTMLElement' PASS tagJSWrapperClass('dir') is 'HTMLDirectoryElement' PASS tagJSWrapperClass('div') is 'HTMLDivElement' PASS tagJSWrapperClass('dl') is 'HTMLDListElement' PASS tagJSWrapperClass('dt') is 'HTMLElement' PASS tagJSWrapperClass('em') is 'HTMLElement' PASS tagJSWrapperClass('embed') is 'HTMLEmbedElement' PASS tagJSWrapperClass('fieldset') is 'HTMLFieldSetElement' PASS tagJSWrapperClass('font') is 'HTMLFontElement' PASS tagJSWrapperClass('form') is 'HTMLFormElement' PASS tagJSWrapperClass('frame') is 'HTMLFrameElement' PASS tagJSWrapperClass('frameset') is 'HTMLFrameSetElement' PASS tagJSWrapperClass('head') is 'HTMLHeadElement' PASS tagJSWrapperClass('h1') is 'HTMLHeadingElement' PASS tagJSWrapperClass('h2') is 'HTMLHeadingElement' PASS tagJSWrapperClass('h3') is 'HTMLHeadingElement' PASS tagJSWrapperClass('h4') is 'HTMLHeadingElement' PASS tagJSWrapperClass('h5') is 'HTMLHeadingElement' PASS tagJSWrapperClass('h6') is 'HTMLHeadingElement' PASS tagJSWrapperClass('hr') is 'HTMLHRElement' PASS tagJSWrapperClass('html') is 'HTMLHtmlElement' PASS tagJSWrapperClass('i') is 'HTMLElement' PASS tagJSWrapperClass('iframe') is 'HTMLIFrameElement' PASS tagJSWrapperClass('image') is 'HTMLImageElement' PASS tagJSWrapperClass('img') is 'HTMLImageElement' PASS tagJSWrapperClass('input') is 'HTMLInputElement' PASS tagJSWrapperClass('ins') is 'HTMLModElement' PASS tagJSWrapperClass('isindex') is 'HTMLIsIndexElement' PASS tagJSWrapperClass('kbd') is 'HTMLElement' PASS tagJSWrapperClass('keygen') is 'HTMLSelectElement' PASS tagJSWrapperClass('label') is 'HTMLLabelElement' PASS tagJSWrapperClass('layer') is 'HTMLElement' PASS tagJSWrapperClass('legend') is 'HTMLLegendElement' PASS tagJSWrapperClass('li') is 'HTMLLIElement' PASS tagJSWrapperClass('link') is 'HTMLLinkElement' PASS tagJSWrapperClass('listing') is 'HTMLPreElement' PASS tagJSWrapperClass('map') is 'HTMLMapElement' PASS tagJSWrapperClass('marquee') is 'HTMLMarqueeElement' PASS tagJSWrapperClass('menu') is 'HTMLMenuElement' PASS tagJSWrapperClass('meta') is 'HTMLMetaElement' PASS tagJSWrapperClass('nobr') is 'HTMLElement' PASS tagJSWrapperClass('noembed') is 'HTMLElement' PASS tagJSWrapperClass('noframes') is 'HTMLElement' PASS tagJSWrapperClass('nolayer') is 'HTMLElement' PASS tagJSWrapperClass('noscript') is 'HTMLElement' PASS tagJSWrapperClass('object') is 'HTMLObjectElement' PASS tagJSWrapperClass('ol') is 'HTMLOListElement' PASS tagJSWrapperClass('optgroup') is 'HTMLOptGroupElement' PASS tagJSWrapperClass('option') is 'HTMLOptionElement' PASS tagJSWrapperClass('p') is 'HTMLParagraphElement' PASS tagJSWrapperClass('param') is 'HTMLParamElement' PASS tagJSWrapperClass('plaintext') is 'HTMLElement' PASS tagJSWrapperClass('pre') is 'HTMLPreElement' PASS tagJSWrapperClass('q') is 'HTMLQuoteElement' PASS tagJSWrapperClass('s') is 'HTMLElement' PASS tagJSWrapperClass('samp') is 'HTMLElement' PASS tagJSWrapperClass('script') is 'HTMLScriptElement' PASS tagJSWrapperClass('select') is 'HTMLSelectElement' PASS tagJSWrapperClass('small') is 'HTMLElement' PASS tagJSWrapperClass('span') is 'HTMLElement' PASS tagJSWrapperClass('strike') is 'HTMLElement' PASS tagJSWrapperClass('strong') is 'HTMLElement' PASS tagJSWrapperClass('style') is 'HTMLStyleElement' PASS tagJSWrapperClass('sub') is 'HTMLElement' PASS tagJSWrapperClass('sup') is 'HTMLElement' PASS tagJSWrapperClass('table') is 'HTMLTableElement' PASS tagJSWrapperClass('tbody') is 'HTMLTableSectionElement' PASS tagJSWrapperClass('td') is 'HTMLTableCellElement' PASS tagJSWrapperClass('textarea') is 'HTMLTextAreaElement' PASS tagJSWrapperClass('tfoot') is 'HTMLTableSectionElement' PASS tagJSWrapperClass('th') is 'HTMLTableCellElement' PASS tagJSWrapperClass('thead') is 'HTMLTableSectionElement' PASS tagJSWrapperClass('title') is 'HTMLTitleElement' PASS tagJSWrapperClass('tr') is 'HTMLTableRowElement' PASS tagJSWrapperClass('tt') is 'HTMLElement' PASS tagJSWrapperClass('u') is 'HTMLElement' PASS tagJSWrapperClass('ul') is 'HTMLUListElement' PASS tagJSWrapperClass('var') is 'HTMLElement' PASS tagJSWrapperClass('wbr') is 'HTMLElement' PASS tagJSWrapperClass('xmp') is 'HTMLPreElement' JavaScript types