diff options
Diffstat (limited to 'toolkit/components/reader/test/browser_readerMode_refresh.js')
-rw-r--r-- | toolkit/components/reader/test/browser_readerMode_refresh.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/toolkit/components/reader/test/browser_readerMode_refresh.js b/toolkit/components/reader/test/browser_readerMode_refresh.js new file mode 100644 index 0000000000..00b4557f70 --- /dev/null +++ b/toolkit/components/reader/test/browser_readerMode_refresh.js @@ -0,0 +1,49 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +"use strict"; + +const TEST_PATH = getRootDirectory(gTestPath).replace( + "chrome://mochitests/content", + "http://example.com" +); + +async function testRefresh(url) { + // Open an article in a browser tab + await BrowserTestUtils.withNewTab(url, async function (browser) { + let pageShownPromise = BrowserTestUtils.waitForContentEvent( + browser, + "AboutReaderContentReady" + ); + + let readerButton = document.getElementById("reader-mode-button"); + let refreshButton = document.getElementById("reload-button"); + + // Enter Reader Mode + readerButton.click(); + await pageShownPromise; + + // Refresh the page + pageShownPromise = BrowserTestUtils.waitForContentEvent( + browser, + "AboutReaderContentReady" + ); + refreshButton.click(); + await pageShownPromise; + await SpecialPowers.spawn(browser, [], () => { + ok( + !content.document.documentElement.hasAttribute("data-is-error"), + "The data-is-error attribute is present when Reader Mode failed to load an article." + ); + }); + }); +} + +add_task(async function () { + // Testing a non-text/plain document + await testRefresh(TEST_PATH + "readerModeArticle.html"); + + // Testing a test/plain document + await testRefresh(TEST_PATH + "readerModeArticleTextPlain.txt"); +}); |