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


