summaryrefslogtreecommitdiffstats
path: root/dom/settings/tests/test_settings_observer_killer.html
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /dom/settings/tests/test_settings_observer_killer.html
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'dom/settings/tests/test_settings_observer_killer.html')
-rw-r--r--dom/settings/tests/test_settings_observer_killer.html60
1 files changed, 60 insertions, 0 deletions
diff --git a/dom/settings/tests/test_settings_observer_killer.html b/dom/settings/tests/test_settings_observer_killer.html
new file mode 100644
index 000000000..8e7ed973c
--- /dev/null
+++ b/dom/settings/tests/test_settings_observer_killer.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1193469
+-->
+<head>
+ <title>Test for Bug 1193469 Settings API</title>
+ <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
+ <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
+</head>
+<body>
+
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1193469">Mozilla Bug 1193469</a>
+<p id="display"></p>
+<div id="content" style="display: none">
+<iframe></iframe>
+</div>
+<pre id="test">
+<script class="testbody" type="text/javascript;version=1.7">
+
+var url = SimpleTest.getTestFileURL("file_loadserver.js");
+var script = SpecialPowers.loadChromeScript(url);
+
+SimpleTest.waitForExplicitFinish();
+
+SpecialPowers.pushPrefEnv({
+ set: [["dom.mozSettings.enabled", true]]
+},
+ function () {
+ ok(true, "abusing observers");
+
+ var obs;
+ for (obs = 0; obs < 9; obs++) {
+ navigator.mozSettings.addObserver("fake.setting.key", function(v) {
+ // nothing to do for real ...
+ ok(false, "should not be called");
+ });
+ ok(true, "first: added observer #" + obs);
+ }
+ ok(true, "adding first observers, should not have thrown");
+
+ try {
+ ok(true, "second: adding new observer");
+ navigator.mozSettings.addObserver("fake.setting.key", function(v) {
+ // nothing to do for real ...
+ ok(false, "should not be called");
+ });
+ ok(false, "adding too many observers should have thrown");
+ } catch (ex) {
+ ok(true, "got exception when trying to add too many observers");
+ }
+
+ SimpleTest.finish();
+ });
+
+</script>
+</pre>
+</body>
+</html>