test_sandboxImport.xhtml (1523B)
1 <?xml version="1.0"?> 2 <?xml-stylesheet href="chrome://global/skin" type="text/css"?> 3 <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" 4 type="text/css"?> 5 <!-- 6 https://bugzilla.mozilla.org/show_bug.cgi?id=533596 7 --> 8 <window title="Mozilla Bug 533596" 9 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 10 <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> 11 12 <!-- test results are displayed in the html:body --> 13 <body xmlns="http://www.w3.org/1999/xhtml"> 14 </body> 15 16 <!-- test code goes here --> 17 <script type="application/javascript"><![CDATA[ 18 19 function checkWrapped(obj) { 20 var utils = window.windowUtils; 21 is(utils.getClassName(obj), "Proxy", "right type of wrapper"); 22 } 23 24 var sandbox = new Cu.Sandbox("about:blank"); 25 sandbox.importFunction(function() { return "PASS"; }, "foo"); 26 sandbox.importFunction(function bar() { return "PASS"; }); 27 sandbox.importFunction(checkWrapped); 28 is(Cu.evalInSandbox("foo()", sandbox), "PASS", "importFunction works"); 29 is(Cu.evalInSandbox("bar()", sandbox), "PASS", "importFunction works"); 30 Cu.evalInSandbox("checkWrapped({})", sandbox); 31 32 var importer = sandbox.importFunction; 33 importer(function() { return "PASS"; }, "bar"); 34 is(Cu.evalInSandbox("bar()", sandbox), "PASS", "unbound importFunction works"); 35 is(typeof this.bar, "undefined", "didn't import into our global"); 36 ]]></script> 37 </window>