diff options
Diffstat (limited to 'devtools/client/webconsole/test/browser/browser_jsterm_editor_onboarding.js')
-rw-r--r-- | devtools/client/webconsole/test/browser/browser_jsterm_editor_onboarding.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/devtools/client/webconsole/test/browser/browser_jsterm_editor_onboarding.js b/devtools/client/webconsole/test/browser/browser_jsterm_editor_onboarding.js new file mode 100644 index 0000000000..48410a14df --- /dev/null +++ b/devtools/client/webconsole/test/browser/browser_jsterm_editor_onboarding.js @@ -0,0 +1,51 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +// Test that the onboarding UI is displayed when first displaying the editor mode, and +// that it can be permanentely dismissed. +// See https://bugzilla.mozilla.org/show_bug.cgi?id=1558417 + +"use strict"; + +const TEST_URI = + "data:text/html;charset=utf-8,<!DOCTYPE html>Test onboarding UI"; +const EDITOR_UI_PREF = "devtools.webconsole.input.editor"; +const EDITOR_ONBOARDING_PREF = "devtools.webconsole.input.editorOnboarding"; + +add_task(async function () { + // Enable editor mode and force the onboarding pref to true so it's displayed. + await pushPref(EDITOR_UI_PREF, true); + await pushPref(EDITOR_ONBOARDING_PREF, true); + + let hud = await openNewTabAndConsole(TEST_URI); + + info("Check that the onboarding UI is displayed"); + const onboardingElement = getOnboardingEl(hud); + ok(onboardingElement, "The onboarding UI exists"); + + info("Check that the onboarding UI can be dismissed"); + const dismissButton = onboardingElement.querySelector( + ".editor-onboarding-dismiss-button" + ); + ok(dismissButton, "There's a dismiss button"); + dismissButton.click(); + + await waitFor(() => !getOnboardingEl(hud)); + ok(true, "The onboarding UI is hidden after clicking the dismiss button"); + + info("Check that the onboarding UI isn't displayed after a toolbox restart"); + await closeConsole(); + hud = await openConsole(); + is( + getOnboardingEl(hud), + null, + "The onboarding UI isn't displayed after a toolbox restart after being dismissed" + ); + + Services.prefs.clearUserPref(EDITOR_UI_PREF); + Services.prefs.clearUserPref(EDITOR_ONBOARDING_PREF); +}); + +function getOnboardingEl(hud) { + return hud.ui.outputNode.querySelector(".editor-onboarding"); +} |