diff options
Diffstat (limited to 'toolkit/components/narrate/test/browser_narrate_toggle.js')
-rw-r--r-- | toolkit/components/narrate/test/browser_narrate_toggle.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/toolkit/components/narrate/test/browser_narrate_toggle.js b/toolkit/components/narrate/test/browser_narrate_toggle.js new file mode 100644 index 0000000000..54de276001 --- /dev/null +++ b/toolkit/components/narrate/test/browser_narrate_toggle.js @@ -0,0 +1,37 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ +"use strict"; + +// This test verifies that the keyboard shortcut "n" will Start/Stop the +// narration of an article in readermode when the article is in focus. + +registerCleanupFunction(teardown); + +add_task(async function testToggleNarrate() { + setup(); + + await spawnInNewReaderTab(TEST_ARTICLE, async function () { + let $ = content.document.querySelector.bind(content.document); + + await NarrateTestUtils.waitForNarrateToggle(content); + + let eventUtils = NarrateTestUtils.getEventUtils(content); + + NarrateTestUtils.isStoppedState(content, ok); + + $(NarrateTestUtils.TOGGLE).focus(); + eventUtils.synthesizeKey("n", {}, content); + + await ContentTaskUtils.waitForEvent(content, "paragraphstart"); + NarrateTestUtils.isStartedState(content, ok); + + $(NarrateTestUtils.TOGGLE).focus(); + eventUtils.synthesizeKey("n", {}, content); + + await ContentTaskUtils.waitForCondition( + () => !$(NarrateTestUtils.STOP), + "transitioned to stopped state" + ); + NarrateTestUtils.isStoppedState(content, ok); + }); +}); |