diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /toolkit/mozapps/extensions/test/xpcshell/test_bug620837.js | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-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 'toolkit/mozapps/extensions/test/xpcshell/test_bug620837.js')
-rw-r--r-- | toolkit/mozapps/extensions/test/xpcshell/test_bug620837.js | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_bug620837.js b/toolkit/mozapps/extensions/test/xpcshell/test_bug620837.js new file mode 100644 index 000000000..6bfbfcaf2 --- /dev/null +++ b/toolkit/mozapps/extensions/test/xpcshell/test_bug620837.js @@ -0,0 +1,145 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ + */ + +Components.utils.import("resource://testing-common/httpd.js"); + +const PREF_BLOCKLIST_LASTUPDATETIME = "app.update.lastUpdateTime.blocklist-background-update-timer"; +const PREF_BLOCKLIST_PINGCOUNTTOTAL = "extensions.blocklist.pingCountTotal"; +const PREF_BLOCKLIST_PINGCOUNTVERSION = "extensions.blocklist.pingCountVersion"; + +const SECONDS_IN_DAY = 60 * 60 * 24; + +var gExpectedQueryString = null; +var gNextTest = null; +var gTestserver = null; + +function notify_blocklist() { + var blocklist = AM_Cc["@mozilla.org/extensions/blocklist;1"]. + getService(AM_Ci.nsITimerCallback); + blocklist.notify(null); +} + +function pathHandler(metadata, response) { + do_check_eq(metadata.queryString, gExpectedQueryString); + gNextTest(); +} + +function run_test() { + createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1"); + + gTestserver = new HttpServer(); + gTestserver.registerPathHandler("/", pathHandler); + gTestserver.start(-1); + gPort = gTestserver.identity.primaryPort; + + Services.prefs.setCharPref("extensions.blocklist.url", + "http://localhost:" + gPort + + "/?%PING_COUNT%&%TOTAL_PING_COUNT%&%DAYS_SINCE_LAST_PING%"); + + do_test_pending(); + test1(); +} + +function getNowInSeconds() { + return Math.round(Date.now() / 1000); +} + +function test1() { + gNextTest = test2; + gExpectedQueryString = "1&1&new"; + notify_blocklist(); +} + +function test2() { + gNextTest = test3; + gExpectedQueryString = "invalid&invalid&invalid"; + notify_blocklist(); +} + +function test3() { + Services.prefs.setIntPref(PREF_BLOCKLIST_LASTUPDATETIME, + (getNowInSeconds() - SECONDS_IN_DAY)); + gNextTest = test4; + gExpectedQueryString = "2&2&1"; + notify_blocklist(); +} + +function test4() { + Services.prefs.setIntPref(PREF_BLOCKLIST_PINGCOUNTVERSION, -1); + Services.prefs.setIntPref(PREF_BLOCKLIST_LASTUPDATETIME, + (getNowInSeconds() - (SECONDS_IN_DAY * 2))); + gNextTest = test5; + gExpectedQueryString = "1&3&2"; + notify_blocklist(); +} + +function test5() { + Services.prefs.setIntPref(PREF_BLOCKLIST_LASTUPDATETIME, getNowInSeconds()); + gNextTest = test6; + gExpectedQueryString = "invalid&invalid&0"; + notify_blocklist(); +} + +function test6() { + Services.prefs.setIntPref(PREF_BLOCKLIST_LASTUPDATETIME, + (getNowInSeconds() - (SECONDS_IN_DAY * 3))); + gNextTest = test7; + gExpectedQueryString = "2&4&3"; + notify_blocklist(); +} + +function test7() { + Services.prefs.setIntPref(PREF_BLOCKLIST_PINGCOUNTVERSION, 2147483647); + Services.prefs.setIntPref(PREF_BLOCKLIST_LASTUPDATETIME, + (getNowInSeconds() - (SECONDS_IN_DAY * 4))); + gNextTest = test8; + gExpectedQueryString = "2147483647&5&4"; + notify_blocklist(); +} + +function test8() { + Services.prefs.setIntPref(PREF_BLOCKLIST_LASTUPDATETIME, + (getNowInSeconds() - (SECONDS_IN_DAY * 5))); + gNextTest = test9; + gExpectedQueryString = "1&6&5"; + notify_blocklist(); +} + +function test9() { + Services.prefs.setIntPref(PREF_BLOCKLIST_PINGCOUNTTOTAL, 2147483647); + Services.prefs.setIntPref(PREF_BLOCKLIST_LASTUPDATETIME, + (getNowInSeconds() - (SECONDS_IN_DAY * 6))); + gNextTest = test10; + gExpectedQueryString = "2&2147483647&6"; + notify_blocklist(); +} + +function test10() { + Services.prefs.setIntPref(PREF_BLOCKLIST_LASTUPDATETIME, + (getNowInSeconds() - (SECONDS_IN_DAY * 7))); + gNextTest = test11; + gExpectedQueryString = "3&1&7"; + notify_blocklist(); +} + +function test11() { + Services.prefs.setIntPref(PREF_BLOCKLIST_PINGCOUNTVERSION, -1); + Services.prefs.setIntPref(PREF_BLOCKLIST_LASTUPDATETIME, + (getNowInSeconds() - (SECONDS_IN_DAY * 8))); + gNextTest = test12; + gExpectedQueryString = "1&2&8"; + notify_blocklist(); +} + +function test12() { + Services.prefs.setIntPref(PREF_BLOCKLIST_LASTUPDATETIME, + (getNowInSeconds() - (SECONDS_IN_DAY * 9))); + gNextTest = finish; + gExpectedQueryString = "2&3&9"; + notify_blocklist(); +} + +function finish() { + gTestserver.stop(do_test_finished); +} |