summaryrefslogtreecommitdiffstats
path: root/toolkit/components/viewsource/test/browser/browser_gotoline.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/viewsource/test/browser/browser_gotoline.js')
-rw-r--r--toolkit/components/viewsource/test/browser/browser_gotoline.js37
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");
+ });
+ }
+};