diff options
Diffstat (limited to 'toolkit/components/viewsource/test/browser/browser_gotoline.js')
-rw-r--r-- | toolkit/components/viewsource/test/browser/browser_gotoline.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/toolkit/components/viewsource/test/browser/browser_gotoline.js b/toolkit/components/viewsource/test/browser/browser_gotoline.js new file mode 100644 index 0000000000..000b2c6876 --- /dev/null +++ b/toolkit/components/viewsource/test/browser/browser_gotoline.js @@ -0,0 +1,37 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ + */ + +var content = "line 1\nline 2\nline 3"; + +add_task(async function () { + // First test with text with the text/html mimetype. + let tab = await openDocument("data:text/html," + encodeURIComponent(content)); + await checkViewSource(tab); + gBrowser.removeTab(tab); + + tab = await openDocument("data:text/plain," + encodeURIComponent(content)); + await checkViewSource(tab); + gBrowser.removeTab(tab); +}); + +var checkViewSource = async function (aTab) { + let browser = aTab.linkedBrowser; + await SpecialPowers.spawn(browser, [content], async function (text) { + is(content.document.body.textContent, text, "Correct content loaded"); + }); + + for (let i = 1; i <= 3; i++) { + browser.sendMessageToActor( + "ViewSource:GoToLine", + { + lineNumber: i, + }, + "ViewSourcePage" + ); + await SpecialPowers.spawn(browser, [i], async function (i) { + let selection = content.getSelection(); + Assert.equal(selection.toString(), "line " + i, "Correct text selected"); + }); + } +}; |