<!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 showModalDialog = 1;
        log(showModalDialog == 1 ? "PASS: showModalDialog successfully shadowed" : "FAIL: showModalDialog 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 HTMLAppletElement = 1;
        log(HTMLAppletElement == 1 ? "PASS: HTMLAppletElement successfully shadowed" : "FAIL: HTMLAppletElement 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>
