diff options
Diffstat (limited to 'system/docshell/test/unit/test_bug442584.js')
-rw-r--r-- | system/docshell/test/unit/test_bug442584.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/system/docshell/test/unit/test_bug442584.js b/system/docshell/test/unit/test_bug442584.js new file mode 100644 index 000000000..174bdb7e3 --- /dev/null +++ b/system/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()); +} |