test_browserGlue_migration_reset_tracking_table.js (1778B)
1 /* Any copyright is dedicated to the Public Domain. 2 http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 "use strict"; 5 6 const LEVEL_1_TRACKING_TABLE = 7 "moztest-track-simple,ads-track-digest256,social-track-digest256,analytics-track-digest256"; 8 const LEVEL_2_TRACKING_TABLE = 9 LEVEL_1_TRACKING_TABLE + ",content-track-digest256"; 10 const CUSTOM_BLOCK_LIST_PREF = 11 "browser.contentblocking.customBlockList.preferences.ui.enabled"; 12 const TRACKING_TABLE_PREF = "urlclassifier.trackingTable"; 13 const BROWSER_VERSION = 155; 14 15 const gBrowserGlue = Cc["@mozilla.org/browser/browserglue;1"].getService( 16 Ci.nsIObserver 17 ); 18 19 add_setup(() => { 20 registerCleanupFunction(() => { 21 Services.prefs.clearUserPref("browser.migration.version"); 22 Services.prefs.clearUserPref(CUSTOM_BLOCK_LIST_PREF); 23 Services.prefs.clearUserPref(TRACKING_TABLE_PREF); 24 }); 25 }); 26 27 add_task(async function test_migration_reset_tracking_table() { 28 // Set up user having level 2 tracking table 29 Services.prefs.setBoolPref(CUSTOM_BLOCK_LIST_PREF, true); 30 Services.prefs.setStringPref(TRACKING_TABLE_PREF, LEVEL_2_TRACKING_TABLE); 31 Services.prefs.setIntPref("browser.migration.version", BROWSER_VERSION); 32 33 // Simulate the migration process 34 gBrowserGlue.observe(null, "browser-glue-test", "force-ui-migration"); 35 36 // Check that the migration has reset the tracking table to level 1 and customBlockList is set to false 37 Assert.ok( 38 !Services.prefs.getBoolPref(CUSTOM_BLOCK_LIST_PREF, false), 39 "browser.contentblocking.customBlockList.preferences.ui.enabled pref should be false" 40 ); 41 Assert.strictEqual( 42 Services.prefs.getStringPref(TRACKING_TABLE_PREF), 43 LEVEL_1_TRACKING_TABLE, 44 LEVEL_1_TRACKING_TABLE, 45 "urlclassifier.trackingTable pref should be reset to level 1" 46 ); 47 });