diff options
Diffstat (limited to 'browser/base/content/test/general/browser_plainTextLinks.js')
-rw-r--r-- | browser/base/content/test/general/browser_plainTextLinks.js | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/browser/base/content/test/general/browser_plainTextLinks.js b/browser/base/content/test/general/browser_plainTextLinks.js deleted file mode 100644 index 7a304fce0..000000000 --- a/browser/base/content/test/general/browser_plainTextLinks.js +++ /dev/null @@ -1,146 +0,0 @@ -function testExpected(expected, msg) { - is(document.getElementById("context-openlinkincurrent").hidden, expected, msg); -} - -function testLinkExpected(expected, msg) { - is(gContextMenu.linkURL, expected, msg); -} - -add_task(function *() { - const url = "data:text/html;charset=UTF-8,Test For Non-Hyperlinked url selection"; - yield BrowserTestUtils.openNewForegroundTab(gBrowser, url); - - yield SimpleTest.promiseFocus(gBrowser.selectedBrowser.contentWindowAsCPOW); - - // Initial setup of the content area. - yield ContentTask.spawn(gBrowser.selectedBrowser, { }, function* (arg) { - let doc = content.document; - let range = doc.createRange(); - let selection = content.getSelection(); - - let mainDiv = doc.createElement("div"); - let div = doc.createElement("div"); - let div2 = doc.createElement("div"); - let span1 = doc.createElement("span"); - let span2 = doc.createElement("span"); - let span3 = doc.createElement("span"); - let span4 = doc.createElement("span"); - let p1 = doc.createElement("p"); - let p2 = doc.createElement("p"); - span1.textContent = "http://index."; - span2.textContent = "example.com example.com"; - span3.textContent = " - Test"; - span4.innerHTML = "<a href='http://www.example.com'>http://www.example.com/example</a>"; - p1.textContent = "mailto:test.com ftp.example.com"; - p2.textContent = "example.com -"; - div.appendChild(span1); - div.appendChild(span2); - div.appendChild(span3); - div.appendChild(span4); - div.appendChild(p1); - div.appendChild(p2); - let p3 = doc.createElement("p"); - p3.textContent = "main.example.com"; - div2.appendChild(p3); - mainDiv.appendChild(div); - mainDiv.appendChild(div2); - doc.body.appendChild(mainDiv); - - function setSelection(el1, el2, index1, index2) { - while (el1.nodeType != el1.TEXT_NODE) - el1 = el1.firstChild; - while (el2.nodeType != el1.TEXT_NODE) - el2 = el2.firstChild; - - selection.removeAllRanges(); - range.setStart(el1, index1); - range.setEnd(el2, index2); - selection.addRange(range); - - return range; - } - - // Each of these tests creates a selection and returns a range within it. - content.tests = [ - () => setSelection(span1.firstChild, span2.firstChild, 0, 11), - () => setSelection(span1.firstChild, span2.firstChild, 7, 11), - () => setSelection(span1.firstChild, span2.firstChild, 8, 11), - () => setSelection(span2.firstChild, span2.firstChild, 0, 11), - () => setSelection(span2.firstChild, span2.firstChild, 11, 23), - () => setSelection(span2.firstChild, span2.firstChild, 0, 10), - () => setSelection(span2.firstChild, span3.firstChild, 12, 7), - () => setSelection(span2.firstChild, span2.firstChild, 12, 19), - () => setSelection(p1.firstChild, p1.firstChild, 0, 15), - () => setSelection(p1.firstChild, p1.firstChild, 16, 31), - () => setSelection(p2.firstChild, p2.firstChild, 0, 14), - () => { - selection.selectAllChildren(div2); - return selection.getRangeAt(0); - }, - () => { - selection.selectAllChildren(span4); - return selection.getRangeAt(0); - }, - () => { - mainDiv.innerHTML = "(open-suse.ru)"; - return setSelection(mainDiv, mainDiv, 1, 13); - }, - () => setSelection(mainDiv, mainDiv, 1, 14) - ]; - }); - - let checks = [ - () => testExpected(false, "The link context menu should show for http://www.example.com"), - () => testExpected(false, "The link context menu should show for www.example.com"), - () => testExpected(true, "The link context menu should not show for ww.example.com"), - () => { - testExpected(false, "The link context menu should show for example.com"); - testLinkExpected("http://example.com/", "url for example.com selection should not prepend www"); - }, - () => testExpected(false, "The link context menu should show for example.com"), - () => testExpected(true, "Link options should not show for selection that's not at a word boundary"), - () => testExpected(true, "Link options should not show for selection that has whitespace"), - () => testExpected(true, "Link options should not show unless a url is selected"), - () => testExpected(true, "Link options should not show for mailto: links"), - () => { - testExpected(false, "Link options should show for ftp.example.com"); - testLinkExpected("http://ftp.example.com/", "ftp.example.com should be preceeded with http://"); - }, - () => testExpected(false, "Link options should show for www.example.com "), - () => testExpected(false, "Link options should show for triple-click selections"), - () => testLinkExpected("http://www.example.com/", "Linkified text should open the correct link"), - () => { - testExpected(false, "Link options should show for open-suse.ru"); - testLinkExpected("http://open-suse.ru/", "Linkified text should open the correct link"); - }, - () => testExpected(true, "Link options should not show for 'open-suse.ru)'") - ]; - - let contentAreaContextMenu = document.getElementById("contentAreaContextMenu"); - - for (let testid = 0; testid < checks.length; testid++) { - let menuPosition = yield ContentTask.spawn(gBrowser.selectedBrowser, { testid: testid }, function* (arg) { - let range = content.tests[arg.testid](); - - // Get the range of the selection and determine its coordinates. These - // coordinates will be returned to the parent process and the context menu - // will be opened at that location. - let rangeRect = range.getBoundingClientRect(); - return [rangeRect.x + 3, rangeRect.y + 3]; - }); - - let popupShownPromise = BrowserTestUtils.waitForEvent(contentAreaContextMenu, "popupshown"); - yield BrowserTestUtils.synthesizeMouseAtPoint(menuPosition[0], menuPosition[1], - { type: "contextmenu", button: 2 }, gBrowser.selectedBrowser); - yield popupShownPromise; - - checks[testid](); - - let popupHiddenPromise = BrowserTestUtils.waitForEvent(contentAreaContextMenu, "popuphidden"); - contentAreaContextMenu.hidePopup(); - yield popupHiddenPromise; - } - - gBrowser.removeCurrentTab(); -}); - |