summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/webextensions/test/xpcshell/test_bug595081.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/mozapps/webextensions/test/xpcshell/test_bug595081.js')
-rw-r--r--toolkit/mozapps/webextensions/test/xpcshell/test_bug595081.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/toolkit/mozapps/webextensions/test/xpcshell/test_bug595081.js b/toolkit/mozapps/webextensions/test/xpcshell/test_bug595081.js
new file mode 100644
index 000000000..db53dc747
--- /dev/null
+++ b/toolkit/mozapps/webextensions/test/xpcshell/test_bug595081.js
@@ -0,0 +1,27 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ */
+
+// Tests that the AddonManager objects cannot be tampered with
+
+function run_test() {
+ // Setup for test
+ createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2");
+
+ startupManager();
+
+ // Verify that properties cannot be changed
+ let old = AddonManager.STATE_AVAILABLE;
+ AddonManager.STATE_AVAILABLE = 28;
+ do_check_eq(AddonManager.STATE_AVAILABLE, old);
+
+ // Verify that functions cannot be replaced
+ AddonManager.isInstallEnabled = function() {
+ do_throw("Should not be able to replace a function");
+ }
+ AddonManager.isInstallEnabled("application/x-xpinstall");
+
+ // Verify that properties cannot be added
+ AddonManager.foo = "bar";
+ do_check_false("foo" in AddonManager);
+}