summaryrefslogtreecommitdiffstats
path: root/docshell/test/unit/test_bug442584.js
diff options
context:
space:
mode:
Diffstat (limited to 'docshell/test/unit/test_bug442584.js')
-rw-r--r--docshell/test/unit/test_bug442584.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/docshell/test/unit/test_bug442584.js b/docshell/test/unit/test_bug442584.js
new file mode 100644
index 000000000..174bdb7e3
--- /dev/null
+++ b/docshell/test/unit/test_bug442584.js
@@ -0,0 +1,30 @@
+var prefetch = Cc["@mozilla.org/prefetch-service;1"].
+ getService(Ci.nsIPrefetchService);
+var ios = Cc["@mozilla.org/network/io-service;1"].
+ getService(Ci.nsIIOService);
+var prefs = Cc["@mozilla.org/preferences-service;1"].
+ getService(Ci.nsIPrefBranch);
+
+function run_test() {
+ // Fill up the queue
+ prefs.setBoolPref("network.prefetch-next", true);
+ for (var i = 0; i < 5; i++) {
+ var uri = ios.newURI("http://localhost/" + i, null, null);
+ prefetch.prefetchURI(uri, uri, null, true);
+ }
+
+ // Make sure the queue has items in it...
+ do_check_true(prefetch.hasMoreElements());
+
+ // Now disable the pref to force the queue to empty...
+ prefs.setBoolPref("network.prefetch-next", false);
+ do_check_false(prefetch.hasMoreElements());
+
+ // Now reenable the pref, and add more items to the queue.
+ prefs.setBoolPref("network.prefetch-next", true);
+ for (var i = 0; i < 5; i++) {
+ var uri = ios.newURI("http://localhost/" + i, null, null);
+ prefetch.prefetchURI(uri, uri, null, true);
+ }
+ do_check_true(prefetch.hasMoreElements());
+}