From fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 03:14:29 +0200 Subject: Merging upstream version 125.0.1. Signed-off-by: Daniel Baumann --- .../tests/browser/browser_file_migration.js | 2 +- .../tests/browser/browser_safari_passwords.js | 2 +- .../tests/chrome/test_migration_wizard.html | 254 +++++++++++++++++++++ .../tests/marionette/test_refresh_firefox.py | 16 +- .../tests/unit/test_Chrome_permissions.js | 2 +- .../tests/unit/test_Safari_permissions.js | 2 +- 6 files changed, 266 insertions(+), 12 deletions(-) (limited to 'browser/components/migration/tests') diff --git a/browser/components/migration/tests/browser/browser_file_migration.js b/browser/components/migration/tests/browser/browser_file_migration.js index 04241d29d5..c73dfc4456 100644 --- a/browser/components/migration/tests/browser/browser_file_migration.js +++ b/browser/components/migration/tests/browser/browser_file_migration.js @@ -68,7 +68,7 @@ add_setup(async () => { // We use MockFilePicker to simulate a native file picker, and prepare it // to return a dummy file pointed at TEST_FILE_PATH. The file at // TEST_FILE_PATH is not required (nor expected) to exist. - MockFilePicker.init(window); + MockFilePicker.init(window.browsingContext); registerCleanupFunction(() => { MockFilePicker.cleanup(); }); diff --git a/browser/components/migration/tests/browser/browser_safari_passwords.js b/browser/components/migration/tests/browser/browser_safari_passwords.js index c005342b46..e9ebd05e0a 100644 --- a/browser/components/migration/tests/browser/browser_safari_passwords.js +++ b/browser/components/migration/tests/browser/browser_safari_passwords.js @@ -18,7 +18,7 @@ const TEST_FILE_PATH = getTestFilePath("dummy_file.csv"); const { MockFilePicker } = SpecialPowers; add_setup(async function () { - MockFilePicker.init(window); + MockFilePicker.init(window.browsingContext); registerCleanupFunction(() => { MockFilePicker.cleanup(); }); diff --git a/browser/components/migration/tests/chrome/test_migration_wizard.html b/browser/components/migration/tests/chrome/test_migration_wizard.html index d991cce114..cc2d8a0363 100644 --- a/browser/components/migration/tests/chrome/test_migration_wizard.html +++ b/browser/components/migration/tests/chrome/test_migration_wizard.html @@ -724,6 +724,10 @@ extensionsGroup.querySelector("a.message-text").href, EXTENSIONS_INFO_HREF ); + is( + extensionsGroup.querySelector("a.message-text").target, + "_blank" + ); is( extensionsGroup.querySelector(".support-text").textContent, EXTENSIONS_SUPPORT_STRING @@ -732,6 +736,10 @@ extensionsGroup.querySelector(".support-text").href, EXTENSIONS_SUPPORT_HREF ); + is( + extensionsGroup.querySelector(".support-text").target, + "_blank" + ); // With progress being complete, the header should be using the completed // migration string. @@ -792,6 +800,10 @@ extensionsGroup.querySelector(".support-text").href, EXTENSIONS_SUPPORT_HREF ); + is( + extensionsGroup.querySelector(".support-text").target, + "_blank" + ); // With progress being complete, the header should be using the completed // migration string. @@ -1521,6 +1533,248 @@ let getPermissionButton = gShadowRoot.querySelector("#get-permissions"); ok(isHidden(getPermissionButton), "Get permissions button hiddne."); }); + + add_task(async function hide_option_expander_subtitle() { + let selectionPage = gShadowRoot.querySelector("div[name='page-selection']"); + gWiz.setAttribute("hide-option-expander-subtitle", "true"); + let subtitle = selectionPage.querySelector("#resource-selection-summary > .selected-data"); + + gWiz.setState({ + page: MigrationWizardConstants.PAGES.SELECTION, + migrators: MIGRATOR_PROFILE_INSTANCES, + }); + + ok(gWiz.hasAttribute("hide-option-expander-subtitle"), "hide option expander subtitle attribute is present on migration wizard"); + + ok(isHidden(subtitle), "subtitle is hidden"); + + gWiz.removeAttribute("hide-option-expander-subtitle"); + }); + + add_task(async function update_option_expander_title_string() { + let selectionPage = gShadowRoot.querySelector("div[name='page-selection']"); + + let title = selectionPage.querySelector(".selected-data-header"); + gWiz.setAttribute("option-expander-title-string", "test"); + gWiz.setState({ + page: MigrationWizardConstants.PAGES.SELECTION, + migrators: MIGRATOR_PROFILE_INSTANCES, + }); + + await BrowserTestUtils.waitForMutationCondition( + title, + {childList: true}, + () => title.textContent == "test" + ) + is(title.textContent, "test", "resource selection expander subtitle has been changed"); + + gWiz.removeAttribute("option-expander-title-string"); + gWiz.setState({ + page: MigrationWizardConstants.PAGES.SELECTION, + migrators: MIGRATOR_PROFILE_INSTANCES, + }); + + await BrowserTestUtils.waitForMutationCondition( + title, + {childList: true}, + () => title.textContent != "test" + ) + isnot(title.textContent, "test", "resource selection expander subtitle was reverted"); + }); + + add_task(async function hide_select_all_checkbox() { + let selectionPage = gShadowRoot.querySelector("div[name='page-selection']"); + + let selectAll = selectionPage.querySelector("#select-all"); + gWiz.setAttribute("hide-select-all", true); + gWiz.setState({ + page: MigrationWizardConstants.PAGES.SELECTION, + migrators: MIGRATOR_PROFILE_INSTANCES, + }); + + ok(isHidden(selectAll), "select all is not displayed"); + + gWiz.removeAttribute("hide-select-all"); + }); + + add_task(async function update_import_button_string() { + let selectionPage = gShadowRoot.querySelector("div[name='page-selection']"); + gWiz.setAttribute("import-button-string", "test"); + let button = selectionPage.querySelector(".migration-import-button"); + + gWiz.setState({ + page: MigrationWizardConstants.PAGES.SELECTION, + migrators: MIGRATOR_PROFILE_INSTANCES, + }); + + is(button.textContent, "test", "button text is expected"); + + gWiz.removeAttribute("import-button-string"); + }); + + add_task(async function update_checkbox_margins() { + let selectionPage = gShadowRoot.querySelector("div[name='page-selection']"); + + gWiz.setAttribute("checkbox-margin-inline", "27px 42px"); + gWiz.setAttribute("checkbox-margin-block", "42px 27px"); + + gWiz.setState({ + page: MigrationWizardConstants.PAGES.SELECTION, + migrators: MIGRATOR_PROFILE_INSTANCES, + }); + + let checkboxLabels = selectionPage.querySelectorAll(".resource-type-label"); + for(let label of checkboxLabels) { + let computedStyle = getComputedStyle(label); + let marginInline = computedStyle.getPropertyValue("margin-inline"); + let marginBlock = computedStyle.getPropertyValue("margin-block"); + is(marginInline, "27px 42px", "margin inline is set to expected value"); + is(marginBlock, "42px 27px", "margin block is set to expected value"); + } + + gWiz.removeAttribute("checkbox-margin-inline"); + gWiz.removeAttribute("checkbox-margin-block"); + }); + + add_task(async function update_import_button_class() { + let selectionPage = gShadowRoot.querySelector("div[name='page-selection']"); + let importButton = selectionPage.querySelector("#import"); + + gWiz.setAttribute("import-button-class", "primary"); + + gWiz.setState({ + page: MigrationWizardConstants.PAGES.SELECTION, + migrators: MIGRATOR_PROFILE_INSTANCES, + }); + + ok(importButton.classList.contains("primary"), "import button has the primary class"); + + gWiz.removeAttribute("import-button-class"); + }); + + add_task(async function update_header_font_size() { + let selectionPage = gShadowRoot.querySelector("div[name='page-selection']"); + let header = selectionPage.querySelector("h1"); + + gWiz.setAttribute("header-font-size", "24px"); + + gWiz.setState({ + page: MigrationWizardConstants.PAGES.SELECTION, + migrators: MIGRATOR_PROFILE_INSTANCES, + }); + let computedStyle = getComputedStyle(header); + + is(computedStyle.getPropertyValue("font-size"), "24px", "header font size is changed to correct value"); + gWiz.removeAttribute("header-font-size"); + }); + + add_task(async function update_header_margin_block() { + let selectionPage = gShadowRoot.querySelector("div[name='page-selection']"); + let header = selectionPage.querySelector("h1"); + + gWiz.setAttribute("header-margin-block", "20px 30px"); + + gWiz.setState({ + page: MigrationWizardConstants.PAGES.SELECTION, + migrators: MIGRATOR_PROFILE_INSTANCES, + }); + let computedStyle = getComputedStyle(header); + + is(computedStyle.getPropertyValue("margin-block"), "20px 30px", "header margin block is changed to correct value"); + gWiz.removeAttribute("header-margin-block"); + }); + + add_task(async function update_header_string() { + let selectionPage = gShadowRoot.querySelector("div[name='page-selection']"); + let header = selectionPage.querySelector("h1"); + + gWiz.setAttribute("selection-header-string", "test string"); + + gWiz.setState({ + page: MigrationWizardConstants.PAGES.SELECTION, + migrators: MIGRATOR_PROFILE_INSTANCES, + }); + + is(header.textContent, "test string", "header text content is changed to correct value"); + gWiz.removeAttribute("selection-header-string"); + }); + + add_task(async function update_subheader_font_size() { + let selectionPage = gShadowRoot.querySelector("div[name='page-selection']"); + let subheader = selectionPage.querySelector("h1"); + + gWiz.setAttribute("subheader-font-size", "24px"); + + gWiz.setState({ + page: MigrationWizardConstants.PAGES.SELECTION, + migrators: MIGRATOR_PROFILE_INSTANCES, + }); + let computedStyle = getComputedStyle(subheader); + + is(computedStyle.getPropertyValue("font-size"), "24px", "subheader font size is changed to correct value"); + gWiz.removeAttribute("subheader-font-size"); + }); + + add_task(async function update_subheader_margin_block() { + let selectionPage = gShadowRoot.querySelector("div[name='page-selection']"); + let subheader = selectionPage.querySelector("h1"); + + gWiz.setAttribute("subheader-margin-block", "20px 30px"); + + gWiz.setState({ + page: MigrationWizardConstants.PAGES.SELECTION, + migrators: MIGRATOR_PROFILE_INSTANCES, + }); + let computedStyle = getComputedStyle(subheader); + + is(computedStyle.getPropertyValue("margin-block"), "20px 30px", "subheader margin block is changed to correct value"); + gWiz.removeAttribute("subheader-margin-block"); + }); + + add_task(async function update_subheader_string() { + let selectionPage = gShadowRoot.querySelector("div[name='page-selection']"); + let subheader = selectionPage.querySelector(".migration-wizard-subheader"); + + gWiz.setAttribute("selection-subheader-string", "test string"); + + gWiz.setState({ + page: MigrationWizardConstants.PAGES.SELECTION, + migrators: MIGRATOR_PROFILE_INSTANCES, + }); + + is(subheader.textContent, "test string", "subheader text content is changed to correct value"); + + gWiz.removeAttribute("selection-subheader-string"); + gWiz.setState({ + page: MigrationWizardConstants.PAGES.SELECTION, + migrators: MIGRATOR_PROFILE_INSTANCES, + }); + + ok(isHidden(subheader), "subheader is hidden") + }); + + add_task(async function update_data_import_success_string() { + let progressPage = gShadowRoot.querySelector("div[name='page-progress']"); + let header = progressPage.querySelector("h1"); + + gWiz.setAttribute("data-import-complete-success-string", "test string"); + + gWiz.setState({ + page: MigrationWizardConstants.PAGES.PROGRESS, + key: "chrome", + progress: { + [MigrationWizardConstants.DISPLAYED_RESOURCE_TYPES.EXTENSIONS]: { + value: MigrationWizardConstants.PROGRESS_VALUE.SUCCESS, + }, + [MigrationWizardConstants.DISPLAYED_RESOURCE_TYPES.FORMDATA]: { + value: MigrationWizardConstants.PROGRESS_VALUE.SUCCESS, + }, + }, + }); + + is(header.textContent, "test string", "import success header text content is changed to correct value"); + gWiz.removeAttribute("data-import-complete-success-string"); + }); diff --git a/browser/components/migration/tests/marionette/test_refresh_firefox.py b/browser/components/migration/tests/marionette/test_refresh_firefox.py index ea5d6bce99..2ffcd4f099 100644 --- a/browser/components/migration/tests/marionette/test_refresh_firefox.py +++ b/browser/components/migration/tests/marionette/test_refresh_firefox.py @@ -224,8 +224,8 @@ class TestFirefoxRefresh(MarionetteTestCase): self.runAsyncCode( """ let resolve = arguments[arguments.length - 1]; - let { FxAccountsStorageManager } = ChromeUtils.import( - "resource://gre/modules/FxAccountsStorage.jsm" + let { FxAccountsStorageManager } = ChromeUtils.importESModule( + "resource://gre/modules/FxAccountsStorage.sys.mjs" ); let storage = new FxAccountsStorageManager(); let data = {email: "test@test.com", uid: "uid", keyFetchToken: "top-secret"}; @@ -448,8 +448,8 @@ class TestFirefoxRefresh(MarionetteTestCase): def checkFxA(self): result = self.runAsyncCode( """ - let { FxAccountsStorageManager } = ChromeUtils.import( - "resource://gre/modules/FxAccountsStorage.jsm" + let { FxAccountsStorageManager } = ChromeUtils.importESModule( + "resource://gre/modules/FxAccountsStorage.sys.mjs" ); let resolve = arguments[arguments.length - 1]; let storage = new FxAccountsStorageManager(); @@ -528,16 +528,16 @@ class TestFirefoxRefresh(MarionetteTestCase): global.Preferences = ChromeUtils.importESModule( "resource://gre/modules/Preferences.sys.mjs" ).Preferences; - global.FormHistory = ChromeUtils.import( - "resource://gre/modules/FormHistory.jsm" + global.FormHistory = ChromeUtils.importESModule( + "resource://gre/modules/FormHistory.sys.mjs" ).FormHistory; """ # NOQA: E501 ) self._formAutofillAvailable = self.runCode( """ try { - global.formAutofillStorage = ChromeUtils.import( - "resource://formautofill/FormAutofillStorage.jsm" + global.formAutofillStorage = ChromeUtils.importESModule( + "resource://formautofill/FormAutofillStorage.sys.mjs" ).formAutofillStorage; } catch(e) { return false; diff --git a/browser/components/migration/tests/unit/test_Chrome_permissions.js b/browser/components/migration/tests/unit/test_Chrome_permissions.js index 6dfd8bcceb..04bded3c8e 100644 --- a/browser/components/migration/tests/unit/test_Chrome_permissions.js +++ b/browser/components/migration/tests/unit/test_Chrome_permissions.js @@ -35,7 +35,7 @@ add_setup(async () => { gTempDir = do_get_tempdir(); await IOUtils.writeJSON(PathUtils.join(gTempDir.path, "Local State"), []); - MockFilePicker.init(globalThis); + MockFilePicker.init(/* mock BrowsingContext */ { window: globalThis }); registerCleanupFunction(() => { MockFilePicker.cleanup(); }); diff --git a/browser/components/migration/tests/unit/test_Safari_permissions.js b/browser/components/migration/tests/unit/test_Safari_permissions.js index eaa6c7788e..3e11adc3d8 100644 --- a/browser/components/migration/tests/unit/test_Safari_permissions.js +++ b/browser/components/migration/tests/unit/test_Safari_permissions.js @@ -30,7 +30,7 @@ add_setup(async () => { registerFakePath("ULibDir", tempDir); - MockFilePicker.init(globalThis); + MockFilePicker.init(/* mock BrowsingContext */ { window: globalThis }); registerCleanupFunction(() => { MockFilePicker.cleanup(); }); -- cgit v1.2.3