/* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ "use strict"; /** * Tests the effect of unchecking the always-translate language menuitem after the page has * been manually restored to its original form. * This should have no effect on the page, and further page loads should no longer auto-translate. */ add_task( async function test_deactivate_always_translate_language_after_restore() { const { cleanup, resolveDownloads, runInPage } = await loadTestPage({ page: SPANISH_PAGE_URL, languagePairs: LANGUAGE_PAIRS, }); await FullPageTranslationsTestUtils.assertTranslationsButton( { button: true, circleArrows: false, locale: false, icon: true }, "The translations button is visible." ); await FullPageTranslationsTestUtils.assertPageIsUntranslated(runInPage); await FullPageTranslationsTestUtils.openPanel({ onOpenPanel: FullPageTranslationsTestUtils.assertPanelViewDefault, }); await FullPageTranslationsTestUtils.openTranslationsSettingsMenu(); await FullPageTranslationsTestUtils.assertIsAlwaysTranslateLanguage("es", { checked: false, }); await FullPageTranslationsTestUtils.clickAlwaysTranslateLanguage({ downloadHandler: resolveDownloads, }); await FullPageTranslationsTestUtils.assertIsAlwaysTranslateLanguage("es", { checked: true, }); await FullPageTranslationsTestUtils.assertPageIsTranslated( "es", "en", runInPage, "The page should be automatically translated." ); await navigate("Navigate to a different Spanish page", { url: SPANISH_PAGE_URL_DOT_ORG, downloadHandler: resolveDownloads, }); await FullPageTranslationsTestUtils.assertPageIsTranslated( "es", "en", runInPage, "The page should be automatically translated." ); await FullPageTranslationsTestUtils.openPanel({ onOpenPanel: FullPageTranslationsTestUtils.assertPanelViewRevisit, }); await FullPageTranslationsTestUtils.clickRestoreButton(); await FullPageTranslationsTestUtils.assertTranslationsButton( { button: true, circleArrows: false, locale: false, icon: true }, "The button is reverted to have an icon." ); await FullPageTranslationsTestUtils.assertPageIsUntranslated(runInPage); await FullPageTranslationsTestUtils.openPanel({ onOpenPanel: FullPageTranslationsTestUtils.assertPanelViewDefault, }); await FullPageTranslationsTestUtils.openTranslationsSettingsMenu(); await FullPageTranslationsTestUtils.assertIsAlwaysTranslateLanguage("es", { checked: true, }); await FullPageTranslationsTestUtils.clickAlwaysTranslateLanguage(); await FullPageTranslationsTestUtils.assertIsAlwaysTranslateLanguage("es", { checked: false, }); await FullPageTranslationsTestUtils.assertTranslationsButton( { button: true, circleArrows: false, locale: false, icon: true }, "The button shows only the icon." ); await navigate("Reload the page", { url: SPANISH_PAGE_URL_DOT_ORG }); await FullPageTranslationsTestUtils.assertTranslationsButton( { button: true, circleArrows: false, locale: false, icon: true }, "The button shows only the icon." ); await FullPageTranslationsTestUtils.assertPageIsUntranslated(runInPage); await cleanup(); } );