123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?xml version="1.0"?>
- <?xml-stylesheet href="chrome://global/skin" type="text/css"?>
- <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
- type="text/css"?>
- <!--
- https://bugzilla.mozilla.org/show_bug.cgi?id=533596
- -->
- <window title="Mozilla Bug 533596"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
- <script type="application/javascript"
- src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <!-- test results are displayed in the html:body -->
- <body xmlns="http://www.w3.org/1999/xhtml">
- <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=533596"
- target="_blank">Mozilla Bug 533596</a>
- </body>
- <!-- test code goes here -->
- <script type="application/javascript"><![CDATA[
- /** Test for Bug 533596 **/
- function go() {
- try { XPCNativeWrapper.unwrap(); } catch (e) {}
- try { XPCNativeWrapper.unwrap(0); } catch (e) {}
- try { XPCNativeWrapper.unwrap(null); } catch (e) {}
- var o = {};
- is(o, XPCNativeWrapper.unwrap(o), "unwrap on a random object returns it");
- var win = $('ifr').contentWindow;
- var utils = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
- .getInterface(Components.interfaces.nsIDOMWindowUtils);
- is(utils.getClassName(win), "Proxy", "win is a Proxy");
- ok("x" in XPCNativeWrapper.unwrap(win), "actually unwrapped");
- is(utils.getClassName(XPCNativeWrapper.unwrap(win)), "Proxy",
- "unwrap on an Proxy returns the same object");
- is(utils.getClassName(XPCNativeWrapper.unwrap(new XPCNativeWrapper(win))), "Proxy",
- "unwrap on an explicit NW works too");
- ok(utils.getClassName(window) !== "XPCNativeWrapper", "window is not a native wrapper");
- ok(utils.getClassName(XPCNativeWrapper.unwrap(new XPCNativeWrapper(window))) !== "XPCSafeJSObjectWrapper",
- "unwrapping a chrome object returns the object itself");
- SimpleTest.finish();
- }
- SimpleTest.waitForExplicitFinish();
- ]]></script>
- <iframe type="content"
- src="http://example.org/tests/js/xpconnect/tests/mochitest/bug500931_helper.html"
- onload="go()"
- id="ifr">
- </iframe>
- </window>
|