diff options
Diffstat (limited to '')
-rw-r--r-- | browser/components/tests/unit/test_browserGlue_migration_places_xulstore.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/browser/components/tests/unit/test_browserGlue_migration_places_xulstore.js b/browser/components/tests/unit/test_browserGlue_migration_places_xulstore.js new file mode 100644 index 0000000000..7e2ae93bfe --- /dev/null +++ b/browser/components/tests/unit/test_browserGlue_migration_places_xulstore.js @@ -0,0 +1,54 @@ +/* Any copyright is dedicated to the Public Domain. +http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +const TOPIC_BROWSERGLUE_TEST = "browser-glue-test"; +const TOPICDATA_BROWSERGLUE_TEST = "force-ui-migration"; +const UI_VERSION = 120; + +const { AppConstants } = ChromeUtils.importESModule( + "resource://gre/modules/AppConstants.sys.mjs" +); +const { PlacesUIUtils } = ChromeUtils.importESModule( + "resource:///modules/PlacesUIUtils.sys.mjs" +); + +add_task(async function has_not_used_ctrl_tab_and_its_off() { + const gBrowserGlue = Cc["@mozilla.org/browser/browserglue;1"].getService( + Ci.nsIObserver + ); + registerCleanupFunction(() => { + Services.prefs.clearUserPref("browser.migration.version"); + }); + Services.prefs.setIntPref("browser.migration.version", UI_VERSION); + + Services.xulStore.setValue( + AppConstants.BROWSER_CHROME_URL, + "place:test", + "open", + "true" + ); + + // Simulate a migration. + gBrowserGlue.observe( + null, + TOPIC_BROWSERGLUE_TEST, + TOPICDATA_BROWSERGLUE_TEST + ); + + Assert.equal( + Services.xulStore.getValue( + AppConstants.BROWSER_CHROME_URL, + PlacesUIUtils.obfuscateUrlForXulStore("place:test"), + "open" + ), + "true" + ); + + Assert.greater( + Services.prefs.getIntPref("browser.migration.version"), + UI_VERSION, + "Check migration version has been bumped up" + ); +}); |