diff options
Diffstat (limited to 'js/xpconnect/tests/chrome/test_bug596580.xul')
-rw-r--r-- | js/xpconnect/tests/chrome/test_bug596580.xul | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/js/xpconnect/tests/chrome/test_bug596580.xul b/js/xpconnect/tests/chrome/test_bug596580.xul new file mode 100644 index 0000000000..fab7058ac1 --- /dev/null +++ b/js/xpconnect/tests/chrome/test_bug596580.xul @@ -0,0 +1,48 @@ +<?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"?> +<window title="Mozilla Bug 596580" + 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=596580" + target="_blank">Mozilla Bug 596580</a> + </body> + + <!-- test code goes here --> + <script type="application/x-javascript;version=1.8"><![CDATA[ + function init() { + var f = new Function("let test = 'let is ok'; return test;"); + is(f(), 'let is ok', 'let should be ok'); + SimpleTest.finish(); + } + + Test = { + include: function(p) { + var sawError = false; + try { + Components.classes["@mozilla.org/moz/jssubscript-loader;1"]. + getService(Components.interfaces["mozIJSSubScriptLoader"]). + loadSubScript(p); + } catch (e) { + sawError = true; + } + ok(sawError, 'should receive an error loading a not-found file'); + } + }; + + // If the include method is defined as a global function, it works. + // try to load a non existing file to produce the error + Test.include("notfound.js"); + + // If init is called directly, it works. + setTimeout('init();', 0); + + SimpleTest.waitForExplicitFinish(); + + ]]></script> +</window> |