Bug 1150106 - Add an async version of loadSubscript - Part 2, tests r=bholley
authorFabrice Desré <fabrice@mozilla.com>
Wed, 20 May 2015 22:14:54 -0700
changeset 244852 675ced80f982df7b57f287519d3b4a57661cae91
parent 244851 773df031e1917b808ae769d8f518a58d3a9de252
child 244853 cd4a9203152a29ced7033fe67c7ae2ec718b5c7c
push id28790
push usercbook@mozilla.com
push dateThu, 21 May 2015 12:25:35 +0000
treeherdermozilla-central@8bf3f2b34548 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbholley
bugs1150106
milestone41.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1150106 - Add an async version of loadSubscript - Part 2, tests r=bholley
js/xpconnect/tests/unit/bug451678_subscript.js
js/xpconnect/tests/unit/test_bug1150106.js
js/xpconnect/tests/unit/xpcshell.ini
--- a/js/xpconnect/tests/unit/bug451678_subscript.js
+++ b/js/xpconnect/tests/unit/bug451678_subscript.js
@@ -1,2 +1,5 @@
 var tags = [];
 function makeTags() {}
+
+// This will be the return value of the script.
+42
new file mode 100644
--- /dev/null
+++ b/js/xpconnect/tests/unit/test_bug1150106.js
@@ -0,0 +1,35 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+const Cc = Components.classes;
+const Ci = Components.interfaces;
+
+var srvScope = {};
+
+function success(result) {
+  equal(result, 42, "Result of script is correct");
+  ok('makeTags' in srvScope && srvScope.makeTags instanceof Function,
+     "makeTags is a function.");
+  do_test_finished();
+}
+
+function error() {
+  ok(false, "error loading the script asynchronously.");
+  do_test_finished();
+}
+
+function run_test() {
+  do_test_pending();
+
+  var file = do_get_file("bug451678_subscript.js");
+  var ios = Cc["@mozilla.org/network/io-service;1"]
+              .getService(Ci.nsIIOService);
+  var uri = ios.newFileURI(file);
+  var scriptLoader = Cc["@mozilla.org/moz/jssubscript-loader;1"]
+                       .getService(Ci.mozIJSSubScriptLoader);
+  var p = scriptLoader.loadSubScriptWithOptions(uri.spec,
+                                                { target: srvScope,
+                                                  async: true });
+  p.then(success, error);
+}
--- a/js/xpconnect/tests/unit/xpcshell.ini
+++ b/js/xpconnect/tests/unit/xpcshell.ini
@@ -50,16 +50,17 @@ support-files =
 [test_bug1033253.js]
 [test_bug1033920.js]
 [test_bug1033927.js]
 [test_bug1034262.js]
 [test_bug1082450.js]
 [test_bug1081990.js]
 [test_bug1110546.js]
 [test_bug1131707.js]
+[test_bug1150106.js]
 [test_bug1150771.js]
 [test_bug1151385.js]
 [test_bug_442086.js]
 [test_callFunctionWithAsyncStack.js]
 [test_file.js]
 [test_blob.js]
 [test_blob2.js]
 [test_file2.js]