mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-16 20:27:31 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
156
accessible/tests/mochitest/hypertext/test_general.html
Normal file
156
accessible/tests/mochitest/hypertext/test_general.html
Normal file
|
|
@ -0,0 +1,156 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=428248
|
||||
-->
|
||||
<head>
|
||||
<title>nsIHyper>TextAccessible chrome tests</title>
|
||||
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
|
||||
|
||||
<script type="application/javascript"
|
||||
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<script type="application/javascript"
|
||||
src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
|
||||
|
||||
<script type="application/javascript"
|
||||
src="../common.js"></script>
|
||||
<script type="application/javascript"
|
||||
src="../events.js"></script>
|
||||
|
||||
<script type="application/javascript">
|
||||
var gParagraphAcc;
|
||||
|
||||
function testLinkIndexAtOffset(aID, aOffset, aIndex)
|
||||
{
|
||||
var htAcc = getAccessible(aID, [nsIAccessibleHyperText]);
|
||||
is(htAcc.getLinkIndexAtOffset(aOffset), aIndex,
|
||||
"Wrong link index at offset " + aOffset + " for ID " + aID + "!");
|
||||
}
|
||||
|
||||
function testThis(aID, aCharIndex, aExpectedLinkIndex, aName)
|
||||
{
|
||||
testLinkIndexAtOffset(gParagraphAcc, aCharIndex, aExpectedLinkIndex);
|
||||
|
||||
var linkAcc = gParagraphAcc.getLinkAt(aExpectedLinkIndex);
|
||||
ok(linkAcc, "No accessible for link " + aID + "!");
|
||||
|
||||
var linkIndex = gParagraphAcc.getLinkIndex(linkAcc);
|
||||
is(linkIndex, aExpectedLinkIndex, "Wrong link index for " + aID + "!");
|
||||
|
||||
// Just test the link's name to make sure we get the right one.
|
||||
is(linkAcc.getAnchor(0).name, aName, "Wrong name for " + aID + "!");
|
||||
}
|
||||
|
||||
//gA11yEventDumpToConsole = true;
|
||||
function doPreTest()
|
||||
{
|
||||
waitForImageMap("imgmap", doTest);
|
||||
}
|
||||
|
||||
function doTest()
|
||||
{
|
||||
// Test link count
|
||||
gParagraphAcc = getAccessible("testParagraph", [nsIAccessibleHyperText]);
|
||||
is(gParagraphAcc.linkCount, 7, "Wrong link count for paragraph!");
|
||||
|
||||
// normal hyperlink
|
||||
testThis("NormalHyperlink", 14, 0, "Mozilla Foundation");
|
||||
|
||||
// ARIA hyperlink
|
||||
testThis("AriaHyperlink", 27, 1, "Mozilla Foundation Home");
|
||||
|
||||
// ARIA hyperlink with status invalid
|
||||
testThis("InvalidAriaHyperlink", 63, 2, "Invalid link");
|
||||
|
||||
// image map, but not its link children. They are not part of hypertext.
|
||||
testThis("imgmap", 76, 3, "b");
|
||||
|
||||
// empty hyperlink
|
||||
testThis("emptyLink", 90, 4, null);
|
||||
|
||||
// normal hyperlink with embedded span
|
||||
testThis("LinkWithSpan", 116, 5, "Heise Online");
|
||||
|
||||
// Named anchor
|
||||
testThis("namedAnchor", 193, 6, "This should never be of state_linked");
|
||||
|
||||
// Paragraph with link
|
||||
var p2 = getAccessible("p2", [nsIAccessibleHyperText]);
|
||||
var link = p2.getLinkAt(0);
|
||||
is(link, p2.getChildAt(0), "Wrong link for p2");
|
||||
is(p2.linkCount, 1, "Wrong link count for p2");
|
||||
|
||||
// getLinkIndexAtOffset, causes the offsets to be cached;
|
||||
testLinkIndexAtOffset("p4", 0, 0); // 1st 'mozilla' link
|
||||
testLinkIndexAtOffset("p4", 1, 1); // 2nd 'mozilla' link
|
||||
testLinkIndexAtOffset("p4", 2, -1); // ' ' of ' te' text node
|
||||
testLinkIndexAtOffset("p4", 3, -1); // 't' of ' te' text node
|
||||
testLinkIndexAtOffset("p4", 5, -1); // 'x' of 'xt ' text node
|
||||
testLinkIndexAtOffset("p4", 7, -1); // ' ' of 'xt ' text node
|
||||
testLinkIndexAtOffset("p4", 8, 2); // 3d 'mozilla' link
|
||||
testLinkIndexAtOffset("p4", 9, 2); // the end, latest link
|
||||
|
||||
// the second pass to make sure link indexes are calculated propertly from
|
||||
// cached offsets.
|
||||
testLinkIndexAtOffset("p4", 0, 0); // 1st 'mozilla' link
|
||||
testLinkIndexAtOffset("p4", 1, 1); // 2nd 'mozilla' link
|
||||
testLinkIndexAtOffset("p4", 2, -1); // ' ' of ' te' text node
|
||||
testLinkIndexAtOffset("p4", 3, -1); // 't' of ' te' text node
|
||||
testLinkIndexAtOffset("p4", 5, -1); // 'x' of 'xt ' text node
|
||||
testLinkIndexAtOffset("p4", 7, -1); // ' ' of 'xt ' text node
|
||||
testLinkIndexAtOffset("p4", 8, 2); // 3d 'mozilla' link
|
||||
testLinkIndexAtOffset("p4", 9, 2); // the end, latest link
|
||||
|
||||
SimpleTest.finish();
|
||||
}
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
addA11yLoadEvent(doPreTest);
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a target="_blank"
|
||||
title="Create tests for NSIAccessibleHyperlink interface"
|
||||
href="https://bugzilla.mozilla.org/show_bug.cgi?id=418368">
|
||||
Mozilla Bug 418368
|
||||
</a><br>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none"></div>
|
||||
<pre id="test">
|
||||
</pre>
|
||||
<p id="testParagraph"><br
|
||||
>Simple link:<br
|
||||
><a id="NormalHyperlink" href="http://www.mozilla.org">Mozilla Foundation</a><br
|
||||
>ARIA link:<br
|
||||
><span id="AriaHyperlink" role="link"
|
||||
onclick="window.open('http://www.mozilla.org/');"
|
||||
tabindex="0">Mozilla Foundation Home</span><br
|
||||
>Invalid, non-focusable hyperlink:<br
|
||||
><span id="InvalidAriaHyperlink" role="link" aria-invalid="true"
|
||||
onclick="window.open('http:/www.mozilla.org/');">Invalid link</span><br
|
||||
>Image map:<br
|
||||
><map name="atoz_map"><area href="http://www.bbc.co.uk/radio4/atoz/index.shtml#b"
|
||||
coords="17,0,30,14"
|
||||
alt="b"
|
||||
shape="rect"></area
|
||||
><area href="http://www.bbc.co.uk/radio4/atoz/index.shtml#a"
|
||||
coords="0,0,13,14"
|
||||
alt="a"
|
||||
shape="rect"></area></map
|
||||
><img width="447" id="imgmap"
|
||||
height="15"
|
||||
usemap="#atoz_map"
|
||||
src="../letters.gif"></img><br
|
||||
>Empty link:<br
|
||||
><a id="emptyLink" href=""><img src=""></img></a><br
|
||||
>Link with embedded span<br
|
||||
><a id="LinkWithSpan" href="http://www.heise.de/"><span lang="de">Heise Online</span></a><br
|
||||
>Named anchor, must not have "linked" state for it to be exposed correctly:<br
|
||||
><a id="namedAnchor" name="named_anchor">This should never be of state_linked</a>
|
||||
</p>
|
||||
<p id="p2"><a href="http://mozilla.org">mozilla.org</a></p>
|
||||
<p id="p4"><a href="www">mozilla</a><a href="www">mozilla</a><span> te</span><span>xt </span><a href="www">mozilla</a></p>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue