<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript">
        function log(msg)
        {
            document.getElementById('console').appendChild(document.createTextNode(msg + '\n'));
        }
    </script>
</head>
<body>
    <pre id="console"></pre>
    <script>
        if (this.testRunner)
            testRunner.dumpAsText();

        // Window Attributes
        var locationbar = 1;
        log(locationbar == 1 ? "PASS: locationbar successfully shadowed" : "FAIL: locationbar was not shadowed");
        var menubar = 1;
        log(menubar == 1 ? "PASS: menubar successfully shadowed" : "FAIL: menubar was not shadowed");
        var personalbar = 1;
        log(personalbar == 1 ? "PASS: personalbar successfully shadowed" : "FAIL: personalbar was not shadowed");
        var statusbar = 1;
        log(statusbar == 1 ? "PASS: statusbar successfully shadowed" : "FAIL: statusbar was not shadowed");
        var toolbar = 1;
        log(toolbar == 1 ? "PASS: toolbar successfully shadowed" : "FAIL: toolbar was not shadowed");
        var devicePixelRatio = 2;
        log(devicePixelRatio == 2 ? "PASS: devicePixelRatio successfully shadowed" : "FAIL: devicePixelRatio was not shadowed");
        var defaultStatus = 1;
        log(defaultStatus == 1 ? "PASS: defaultStatus successfully shadowed" : "FAIL: defaultStatus was not shadowed");
        var defaultstatus = 1;
        log(defaultstatus == 1 ? "PASS: defaultstatus successfully shadowed" : "FAIL: defaultstatus was not shadowed");
        var status = 1;
        log(status == 1 ? "PASS: status successfully shadowed" : "FAIL: status was not shadowed");
        var frames = 1;
        log(frames == 1 ? "PASS: frames successfully shadowed" : "FAIL: frames was not shadowed");
        var event = 1;
        log(event == 1 ? "PASS: event successfully shadowed" : "FAIL: event was not shadowed");
        var innerHeight = 1;
        log(innerHeight == 1 ? "PASS: innerHeight successfully shadowed" : "FAIL: innerHeight was not shadowed");
        var innerWidth = 1;
        log(innerWidth == 1 ? "PASS: innerWidth successfully shadowed" : "FAIL: innerWidth was not shadowed");
        var length = 1;
        log(length == 1 ? "PASS: length successfully shadowed" : "FAIL: length was not shadowed");
        var name = 1;
        log(name == 1 ? "PASS: name successfully shadowed" : "FAIL: name was not shadowed");
        var clientInformation = 1;
        log(clientInformation == 1 ? "PASS: clientInformation successfully shadowed" : "FAIL: clientInformation was not shadowed");
        var offscreenBuffering = 2;
        log(offscreenBuffering == 2 ? "PASS: offscreenBuffering successfully shadowed" : "FAIL: offscreenBuffering was not shadowed");
        var opener = 1;
        log(opener == 1 ? "PASS: opener successfully shadowed" : "FAIL: opener was not shadowed");
        var outerHeight = 1;
        log(outerHeight == 1 ? "PASS: outerHeight successfully shadowed" : "FAIL: outerHeight was not shadowed");
        var outerWidth = 1;
        log(outerWidth == 1 ? "PASS: outerWidth successfully shadowed" : "FAIL: outerWidth was not shadowed");
        var parent = 1;
        log(parent == 1 ? "PASS: parent successfully shadowed" : "FAIL: parent was not shadowed");
        var screenX = 1;
        log(screenX == 1 ? "PASS: screenX successfully shadowed" : "FAIL: screenX was not shadowed");
        var screenY = 1;
        log(screenY == 1 ? "PASS: screenY successfully shadowed" : "FAIL: screenY was not shadowed");
        var screenLeft = 1;
        log(screenLeft == 1 ? "PASS: screenLeft successfully shadowed" : "FAIL: screenLeft was not shadowed");
        var screenTop = 1;
        log(screenTop == 1 ? "PASS: screenTop successfully shadowed" : "FAIL: screenTop was not shadowed");
        var scrollX = 1;
        log(scrollX == 1 ? "PASS: scrollX successfully shadowed" : "FAIL: scrollX was not shadowed");
        var scrollY = 1;
        log(scrollY == 1 ? "PASS: scrollY successfully shadowed" : "FAIL: scrollY was not shadowed");
        var self = 1;
        log(self == 1 ? "PASS: self successfully shadowed" : "FAIL: self was not shadowed");

        // Window functions
        var getSelection = 1;
        log(getSelection == 1 ? "PASS: getSelection successfully shadowed" : "FAIL: getSelection was not shadowed");
        var getComputedStyle = 1;
        log(getComputedStyle == 1 ? "PASS: getComputedStyle successfully shadowed" : "FAIL: getComputedStyle was not shadowed");
        var getMatchedCSSRules = 1;
        log(getMatchedCSSRules == 1 ? "PASS: getMatchedCSSRules successfully shadowed" : "FAIL: getMatchedCSSRules was not shadowed");
        var atob = 1;
        log(atob == 1 ? "PASS: atob successfully shadowed" : "FAIL: atob was not shadowed");
        var btoa = 1;
        log(btoa == 1 ? "PASS: btoa successfully shadowed" : "FAIL: btoa was not shadowed");
        var scroll = 1;
        log(scroll == 1 ? "PASS: scroll successfully shadowed" : "FAIL: scroll was not shadowed");
        var scrollBy = 1;
        log(scrollBy == 1 ? "PASS: scrollBy successfully shadowed" : "FAIL: scrollBy was not shadowed");
        var scrollTo = 1;
        log(scrollTo == 1 ? "PASS: scrollTo successfully shadowed" : "FAIL: scrollTo was not shadowed");
        var moveBy = 1;
        log(moveBy == 1 ? "PASS: moveBy successfully shadowed" : "FAIL: moveBy was not shadowed");
        var moveTo = 1;
        log(moveTo == 1 ? "PASS: moveTo successfully shadowed" : "FAIL: moveTo was not shadowed");
        var resizeBy = 1;
        log(resizeBy == 1 ? "PASS: resizeBy successfully shadowed" : "FAIL: resizeBy was not shadowed");
        var resizeTo = 1;
        log(resizeTo == 1 ? "PASS: resizeTo successfully shadowed" : "FAIL: resizeTo was not shadowed");
        var alert = 1;
        log(alert == 1 ? "PASS: alert successfully shadowed" : "FAIL: alert was not shadowed");
        var confirm = 1;
        log(confirm == 1 ? "PASS: confirm successfully shadowed" : "FAIL: confirm was not shadowed");
        var prompt = 1;
        log(prompt == 1 ? "PASS: prompt successfully shadowed" : "FAIL: prompt was not shadowed");
        var open = 1;
        log(open == 1 ? "PASS: open successfully shadowed" : "FAIL: open was not shadowed");
        var print = 1;
        log(print == 1 ? "PASS: print successfully shadowed" : "FAIL: print was not shadowed");
        var setTimeout = 1;
        log(setTimeout == 1 ? "PASS: setTimeout successfully shadowed" : "FAIL: setTimeout was not shadowed");
        var clearTimeout = 1;
        log(clearTimeout == 1 ? "PASS: clearTimeout successfully shadowed" : "FAIL: clearTimeout was not shadowed");
        var focus = 1;
        log(focus == 1 ? "PASS: focus successfully shadowed" : "FAIL: focus was not shadowed");
        var blur = 1;
        log(blur == 1 ? "PASS: blur successfully shadowed" : "FAIL: blur was not shadowed");
        var close = 1;
        log(close == 1 ? "PASS: close successfully shadowed" : "FAIL: close was not shadowed");
        var setInterval = 1;
        log(setInterval == 1 ? "PASS: setInterval successfully shadowed" : "FAIL: setInterval was not shadowed");
        var clearInterval = 1;
        log(clearInterval == 1 ? "PASS: clearInterval successfully shadowed" : "FAIL: clearInterval was not shadowed");
        var captureEvents = 1;
        log(captureEvents == 1 ? "PASS: captureEvents successfully shadowed" : "FAIL: captureEvents was not shadowed");
        var releaseEvents = 1;
        log(releaseEvents == 1 ? "PASS: releaseEvents successfully shadowed" : "FAIL: releaseEvents was not shadowed");
        var addEventListener = 1;
        log(addEventListener == 1 ? "PASS: addEventListener successfully shadowed" : "FAIL: addEventListener was not shadowed");
        var removeEventListener = 1;
        log(removeEventListener == 1 ? "PASS: removeEventListener successfully shadowed" : "FAIL: removeEventListener was not shadowed");
        var find = 1;
        log(find == 1 ? "PASS: find successfully shadowed" : "FAIL: find was not shadowed");
        var stop = 1;
        log(stop == 1 ? "PASS: stop successfully shadowed" : "FAIL: stop was not shadowed");

        // Constructors
        var Image = 1;
        log(Image == 1 ? "PASS: Image successfully shadowed" : "FAIL: Image was not shadowed");
        var Option = 1;
        log(Option == 1 ? "PASS: Option successfully shadowed" : "FAIL: Option was not shadowed");
        var DOMException = 1;
        log(DOMException == 1 ? "PASS: DOMException successfully shadowed" : "FAIL: DOMException was not shadowed");
        var XMLHttpRequest = 1;
        log(XMLHttpRequest == 1 ? "PASS: XMLHttpRequest successfully shadowed" : "FAIL: XMLHttpRequest was not shadowed");
        var XSLTProcessor = 1;
        log(XSLTProcessor == 1 ? "PASS: XSLTProcessor successfully shadowed" : "FAIL: XSLTProcessor was not shadowed");
        var StyleSheet = 1;
        log(StyleSheet == 1 ? "PASS: StyleSheet successfully shadowed" : "FAIL: StyleSheet was not shadowed");
        var CSSStyleSheet = 1;
        log(CSSStyleSheet == 1 ? "PASS: CSSStyleSheet successfully shadowed" : "FAIL: CSSStyleSheet was not shadowed");
        var CSSRule = 1;
        log(CSSRule == 1 ? "PASS: CSSRule successfully shadowed" : "FAIL: CSSRule was not shadowed");
        var CSSFontFaceRule = 1;
        log(CSSFontFaceRule == 1 ? "PASS: CSSFontFaceRule successfully shadowed" : "FAIL: CSSFontFaceRule was not shadowed");
        var CSSImportRule = 1;
        log(CSSImportRule == 1 ? "PASS: CSSImportRule successfully shadowed" : "FAIL: CSSImportRule was not shadowed");
        var CSSMediaRule = 1;
        log(CSSMediaRule == 1 ? "PASS: CSSMediaRule successfully shadowed" : "FAIL: CSSMediaRule was not shadowed");
        var CSSPageRule = 1;
        log(CSSPageRule == 1 ? "PASS: CSSPageRule successfully shadowed" : "FAIL: CSSPageRule was not shadowed");
        var CSSStyleRule = 1;
        log(CSSStyleRule == 1 ? "PASS: CSSStyleRule successfully shadowed" : "FAIL: CSSStyleRule was not shadowed");
        var CSSStyleDeclaration = 1;
        log(CSSStyleDeclaration == 1 ? "PASS: CSSStyleDeclaration successfully shadowed" : "FAIL: CSSStyleDeclaration was not shadowed");
        var MediaList = 1;
        log(MediaList == 1 ? "PASS: MediaList successfully shadowed" : "FAIL: MediaList was not shadowed");
        var CSSRuleList = 1;
        log(CSSRuleList == 1 ? "PASS: CSSRuleList successfully shadowed" : "FAIL: CSSRuleList was not shadowed");
        var DOMImplementation = 1;
        log(DOMImplementation == 1 ? "PASS: DOMImplementation successfully shadowed" : "FAIL: DOMImplementation was not shadowed");
        var DocumentFragment = 1;
        log(DocumentFragment == 1 ? "PASS: DocumentFragment successfully shadowed" : "FAIL: DocumentFragment was not shadowed");
        var Document = 1;
        log(Document == 1 ? "PASS: Document successfully shadowed" : "FAIL: Document was not shadowed");
        var Node = 1;
        log(Node == 1 ? "PASS: Node successfully shadowed" : "FAIL: Node was not shadowed");
        var NodeList = 1;
        log(NodeList == 1 ? "PASS: NodeList successfully shadowed" : "FAIL: NodeList was not shadowed");
        var NamedNodeMap = 1;
        log(NamedNodeMap == 1 ? "PASS: NamedNodeMap successfully shadowed" : "FAIL: NamedNodeMap was not shadowed");
        var CharacterData = 1;
        log(CharacterData == 1 ? "PASS: CharacterData successfully shadowed" : "FAIL: CharacterData was not shadowed");
        var Attr = 1;
        log(Attr == 1 ? "PASS: Attr successfully shadowed" : "FAIL: Attr was not shadowed");
        var Element = 1;
        log(Element == 1 ? "PASS: Element successfully shadowed" : "FAIL: Element was not shadowed");
        var Text = 1;
        log(Text == 1 ? "PASS: Text successfully shadowed" : "FAIL: Text was not shadowed");
        var Comment = 1;
        log(Comment == 1 ? "PASS: Comment successfully shadowed" : "FAIL: Comment was not shadowed");
        var CDATASection = 1;
        log(CDATASection == 1 ? "PASS: CDATASection successfully shadowed" : "FAIL: CDATASection was not shadowed");
        var DocumentType = 1;
        log(DocumentType == 1 ? "PASS: DocumentType successfully shadowed" : "FAIL: DocumentType was not shadowed");
        var ProcessingInstruction = 1;
        log(ProcessingInstruction == 1 ? "PASS: ProcessingInstruction successfully shadowed" : "FAIL: ProcessingInstruction was not shadowed");
        var HTMLDocument = 1;
        log(HTMLDocument == 1 ? "PASS: HTMLDocument successfully shadowed" : "FAIL: HTMLDocument was not shadowed");
        var HTMLElement = 1;
        log(HTMLElement == 1 ? "PASS: HTMLElement successfully shadowed" : "FAIL: HTMLElement was not shadowed");
        var HTMLAnchorElement = 1;
        log(HTMLAnchorElement == 1 ? "PASS: HTMLAnchorElement successfully shadowed" : "FAIL: HTMLAnchorElement was not shadowed");
        var HTMLAreaElement = 1;
        log(HTMLAreaElement == 1 ? "PASS: HTMLAreaElement successfully shadowed" : "FAIL: HTMLAreaElement was not shadowed");
        var HTMLBRElement = 1;
        log(HTMLBRElement == 1 ? "PASS: HTMLBRElement successfully shadowed" : "FAIL: HTMLBRElement was not shadowed");
        var HTMLBaseElement = 1;
        log(HTMLBaseElement == 1 ? "PASS: HTMLBaseElement successfully shadowed" : "FAIL: HTMLBaseElement was not shadowed");
        var HTMLBlockquoteElement = 1;
        log(HTMLBlockquoteElement == 1 ? "PASS: HTMLBlockquoteElement successfully shadowed" : "FAIL: HTMLBlockquoteElement was not shadowed");
        var HTMLBodyElement = 1;
        log(HTMLBodyElement == 1 ? "PASS: HTMLBodyElement successfully shadowed" : "FAIL: HTMLBodyElement was not shadowed");
        var HTMLButtonElement = 1;
        log(HTMLButtonElement == 1 ? "PASS: HTMLButtonElement successfully shadowed" : "FAIL: HTMLButtonElement was not shadowed");
        var HTMLCanvasElement = 1;
        log(HTMLCanvasElement == 1 ? "PASS: HTMLCanvasElement successfully shadowed" : "FAIL: HTMLCanvasElement was not shadowed");
        var HTMLDListElement = 1;
        log(HTMLDListElement == 1 ? "PASS: HTMLDListElement successfully shadowed" : "FAIL: HTMLDListElement was not shadowed");
        var HTMLDirectoryElement = 1;
        log(HTMLDirectoryElement == 1 ? "PASS: HTMLDirectoryElement successfully shadowed" : "FAIL: HTMLDirectoryElement was not shadowed");
        var HTMLDivElement = 1;
        log(HTMLDivElement == 1 ? "PASS: HTMLDivElement successfully shadowed" : "FAIL: HTMLDivElement was not shadowed");
        var HTMLEmbedElement = 1;
        log(HTMLEmbedElement == 1 ? "PASS: HTMLEmbedElement successfully shadowed" : "FAIL: HTMLEmbedElement was not shadowed");
        var HTMLFieldSetElement = 1;
        log(HTMLFieldSetElement == 1 ? "PASS: HTMLFieldSetElement successfully shadowed" : "FAIL: HTMLFieldSetElement was not shadowed");
        var HTMLFontElement = 1;
        log(HTMLFontElement == 1 ? "PASS: HTMLFontElement successfully shadowed" : "FAIL: HTMLFontElement was not shadowed");
        var HTMLFormElement = 1;
        log(HTMLFormElement == 1 ? "PASS: HTMLFormElement successfully shadowed" : "FAIL: HTMLFormElement was not shadowed");
        var HTMLFrameElement = 1;
        log(HTMLFrameElement == 1 ? "PASS: HTMLFrameElement successfully shadowed" : "FAIL: HTMLFrameElement was not shadowed");
        var HTMLFrameSetElement = 1;
        log(HTMLFrameSetElement == 1 ? "PASS: HTMLFrameSetElement successfully shadowed" : "FAIL: HTMLFrameSetElement was not shadowed");
        var HTMLHRElement = 1;
        log(HTMLHRElement == 1 ? "PASS: HTMLHRElement successfully shadowed" : "FAIL: HTMLHRElement was not shadowed");
        var HTMLHeadElement = 1;
        log(HTMLHeadElement == 1 ? "PASS: HTMLHeadElement successfully shadowed" : "FAIL: HTMLHeadElement was not shadowed");
        var HTMLHeadingElement = 1;
        log(HTMLHeadingElement == 1 ? "PASS: HTMLHeadingElement successfully shadowed" : "FAIL: HTMLHeadingElement was not shadowed");
        var HTMLHtmlElement = 1;
        log(HTMLHtmlElement == 1 ? "PASS: HTMLHtmlElement successfully shadowed" : "FAIL: HTMLHtmlElement was not shadowed");
        var HTMLIFrameElement = 1;
        log(HTMLIFrameElement == 1 ? "PASS: HTMLIFrameElement successfully shadowed" : "FAIL: HTMLIFrameElement was not shadowed");
        var HTMLImageElement = 1;
        log(HTMLImageElement == 1 ? "PASS: HTMLImageElement successfully shadowed" : "FAIL: HTMLImageElement was not shadowed");
        var HTMLInputElement = 1;
        log(HTMLInputElement == 1 ? "PASS: HTMLInputElement successfully shadowed" : "FAIL: HTMLInputElement was not shadowed");
        var HTMLIsIndexElement = 1;
        log(HTMLIsIndexElement == 1 ? "PASS: HTMLIsIndexElement successfully shadowed" : "FAIL: HTMLIsIndexElement was not shadowed");
        var HTMLLIElement = 1;
        log(HTMLLIElement == 1 ? "PASS: HTMLLIElement successfully shadowed" : "FAIL: HTMLLIElement was not shadowed");
        var HTMLLabelElement = 1;
        log(HTMLLabelElement == 1 ? "PASS: HTMLLabelElement successfully shadowed" : "FAIL: HTMLLabelElement was not shadowed");
        var HTMLLegendElement = 1;
        log(HTMLLegendElement == 1 ? "PASS: HTMLLegendElement successfully shadowed" : "FAIL: HTMLLegendElement was not shadowed");
        var HTMLLinkElement = 1;
        log(HTMLLinkElement == 1 ? "PASS: HTMLLinkElement successfully shadowed" : "FAIL: HTMLLinkElement was not shadowed");
        var HTMLMapElement = 1;
        log(HTMLMapElement == 1 ? "PASS: HTMLMapElement successfully shadowed" : "FAIL: HTMLMapElement was not shadowed");
        var HTMLMarqueeElement = 1;
        log(HTMLMarqueeElement == 1 ? "PASS: HTMLMarqueeElement successfully shadowed" : "FAIL: HTMLMarqueeElement was not shadowed");
        var HTMLMenuElement = 1;
        log(HTMLMenuElement == 1 ? "PASS: HTMLMenuElement successfully shadowed" : "FAIL: HTMLMenuElement was not shadowed");
        var HTMLMetaElement = 1;
        log(HTMLMetaElement == 1 ? "PASS: HTMLMetaElement successfully shadowed" : "FAIL: HTMLMetaElement was not shadowed");
        var HTMLModElement = 1;
        log(HTMLModElement == 1 ? "PASS: HTMLModElement successfully shadowed" : "FAIL: HTMLModElement was not shadowed");
        var HTMLOListElement = 1;
        log(HTMLOListElement == 1 ? "PASS: HTMLOListElement successfully shadowed" : "FAIL: HTMLOListElement was not shadowed");
        var HTMLObjectElement = 1;
        log(HTMLObjectElement == 1 ? "PASS: HTMLObjectElement successfully shadowed" : "FAIL: HTMLObjectElement was not shadowed");
        var HTMLOptGroupElement = 1;
        log(HTMLOptGroupElement == 1 ? "PASS: HTMLOptGroupElement successfully shadowed" : "FAIL: HTMLOptGroupElement was not shadowed");
        var HTMLOptionElement = 1;
        log(HTMLOptionElement == 1 ? "PASS: HTMLOptionElement successfully shadowed" : "FAIL: HTMLOptionElement was not shadowed");
        var HTMLParagraphElement = 1;
        log(HTMLParagraphElement == 1 ? "PASS: HTMLParagraphElement successfully shadowed" : "FAIL: HTMLParagraphElement was not shadowed");
        var HTMLParamElement = 1;
        log(HTMLParamElement == 1 ? "PASS: HTMLParamElement successfully shadowed" : "FAIL: HTMLParamElement was not shadowed");
        var HTMLPreElement = 1;
        log(HTMLPreElement == 1 ? "PASS: HTMLPreElement successfully shadowed" : "FAIL: HTMLPreElement was not shadowed");
        var HTMLQuoteElement = 1;
        log(HTMLQuoteElement == 1 ? "PASS: HTMLQuoteElement successfully shadowed" : "FAIL: HTMLQuoteElement was not shadowed");
        var HTMLScriptElement = 1;
        log(HTMLScriptElement == 1 ? "PASS: HTMLScriptElement successfully shadowed" : "FAIL: HTMLScriptElement was not shadowed");
        var HTMLSelectElement = 1;
        log(HTMLSelectElement == 1 ? "PASS: HTMLSelectElement successfully shadowed" : "FAIL: HTMLSelectElement was not shadowed");
        var HTMLStyleElement = 1;
        log(HTMLStyleElement == 1 ? "PASS: HTMLStyleElement successfully shadowed" : "FAIL: HTMLStyleElement was not shadowed");
        var HTMLTableCaptionElement = 1;
        log(HTMLTableCaptionElement == 1 ? "PASS: HTMLTableCaptionElement successfully shadowed" : "FAIL: HTMLTableCaptionElement was not shadowed");
        var HTMLTableCellElement = 1;
        log(HTMLTableCellElement == 1 ? "PASS: HTMLTableCellElement successfully shadowed" : "FAIL: HTMLTableCellElement was not shadowed");
        var HTMLTableColElement = 1;
        log(HTMLTableColElement == 1 ? "PASS: HTMLTableColElement successfully shadowed" : "FAIL: HTMLTableColElement was not shadowed");
        var HTMLTableElement = 1;
        log(HTMLTableElement == 1 ? "PASS: HTMLTableElement successfully shadowed" : "FAIL: HTMLTableElement was not shadowed");
        var HTMLTableRowElement = 1;
        log(HTMLTableRowElement == 1 ? "PASS: HTMLTableRowElement successfully shadowed" : "FAIL: HTMLTableRowElement was not shadowed");
        var HTMLTableSectionElement = 1;
        log(HTMLTableSectionElement == 1 ? "PASS: HTMLTableSectionElement successfully shadowed" : "FAIL: HTMLTableSectionElement was not shadowed");
        var HTMLTextAreaElement = 1;
        log(HTMLTextAreaElement == 1 ? "PASS: HTMLTextAreaElement successfully shadowed" : "FAIL: HTMLTextAreaElement was not shadowed");
        var HTMLTitleElement = 1;
        log(HTMLTitleElement == 1 ? "PASS: HTMLTitleElement successfully shadowed" : "FAIL: HTMLTitleElement was not shadowed");
        var HTMLUListElement = 1;
        log(HTMLUListElement == 1 ? "PASS: HTMLUListElement successfully shadowed" : "FAIL: HTMLUListElement was not shadowed");
        var Event = 1;
        log(Event == 1 ? "PASS: Event successfully shadowed" : "FAIL: Event was not shadowed");
        var MutationEvent = 1;
        log(MutationEvent == 1 ? "PASS: MutationEvent successfully shadowed" : "FAIL: MutationEvent was not shadowed");
        var NodeFilter = 1;
        log(NodeFilter == 1 ? "PASS: NodeFilter successfully shadowed" : "FAIL: NodeFilter was not shadowed");
        var Range = 1;
        log(Range == 1 ? "PASS: Range successfully shadowed" : "FAIL: Range was not shadowed");
        var XMLDocument = 1;
        log(XMLDocument == 1 ? "PASS: XMLDocument successfully shadowed" : "FAIL: XMLDocument was not shadowed");
        var DOMParser = 1;
        log(DOMParser == 1 ? "PASS: DOMParser successfully shadowed" : "FAIL: DOMParser was not shadowed");
        var XMLSerializer = 1;
        log(XMLSerializer == 1 ? "PASS: XMLSerializer successfully shadowed" : "FAIL: XMLSerializer was not shadowed");
    </script>
</body>
</html>
