From e046a1e7ea403a5319300eba94f52118fad2fcda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20Desr=C3=A9?= Date: Wed, 20 May 2015 22:14:54 -0700 Subject: [PATCH] Bug 1150106 - Add an async version of loadSubscript - Part 2, tests r=bholley --- .../tests/unit/bug451678_subscript.js | 3 ++ js/xpconnect/tests/unit/test_bug1150106.js | 35 +++++++++++++++++++ js/xpconnect/tests/unit/xpcshell.ini | 1 + 3 files changed, 39 insertions(+) create mode 100644 js/xpconnect/tests/unit/test_bug1150106.js diff --git a/js/xpconnect/tests/unit/bug451678_subscript.js b/js/xpconnect/tests/unit/bug451678_subscript.js index f67b8a2a9f44..72ff49a2d641 100644 --- 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 diff --git a/js/xpconnect/tests/unit/test_bug1150106.js b/js/xpconnect/tests/unit/test_bug1150106.js new file mode 100644 index 000000000000..0a93fb588dec --- /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); +} diff --git a/js/xpconnect/tests/unit/xpcshell.ini b/js/xpconnect/tests/unit/xpcshell.ini index 33d0eb2c2cf3..a01ba1d2524e 100644 --- a/js/xpconnect/tests/unit/xpcshell.ini +++ b/js/xpconnect/tests/unit/xpcshell.ini @@ -55,6 +55,7 @@ support-files = [test_bug1081990.js] [test_bug1110546.js] [test_bug1131707.js] +[test_bug1150106.js] [test_bug1150771.js] [test_bug1151385.js] [test_bug_442086.js]