mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-24 17:37:30 +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
7
accessible/tests/mochitest/textrange/a11y.ini
Normal file
7
accessible/tests/mochitest/textrange/a11y.ini
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
[DEFAULT]
|
||||
support-files =
|
||||
!/accessible/tests/mochitest/*.js
|
||||
!/accessible/tests/mochitest/moz.png
|
||||
|
||||
[test_general.html]
|
||||
[test_selection.html]
|
||||
108
accessible/tests/mochitest/textrange/test_general.html
Normal file
108
accessible/tests/mochitest/textrange/test_general.html
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Text Range 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="../common.js"></script>
|
||||
<script type="application/javascript"
|
||||
src="../text.js"></script>
|
||||
<script type="application/javascript"
|
||||
src="../layout.js"></script>
|
||||
<script type="application/javascript">
|
||||
|
||||
function doTest()
|
||||
{
|
||||
// enclosingRange
|
||||
var input = getAccessible("input", [ nsIAccessibleText ]);
|
||||
testTextRange(input.enclosingRange, "enclosing range for 'input'",
|
||||
input, 0, input, 5, "hello", input);
|
||||
|
||||
var ta = getAccessible("textarea", [ nsIAccessibleText ]);
|
||||
testTextRange(ta.enclosingRange, "enclosing range for 'textarea'",
|
||||
ta, 0, ta, 5, "hello", textarea);
|
||||
|
||||
var iframeDocNode = getNode("iframe").contentDocument;
|
||||
var iframeDoc = getAccessible(iframeDocNode, [ nsIAccessibleText ]);
|
||||
testTextRange(iframeDoc.enclosingRange, "enclosing range for iframe doc",
|
||||
iframeDoc, 0, iframeDoc, 1, "hello",
|
||||
iframeDoc, [ getNode("p", iframeDocNode) ]);
|
||||
|
||||
// getRangeByChild
|
||||
var docacc = getAccessible(document, [ nsIAccessibleText ]);
|
||||
var p1 = getAccessible("p1");
|
||||
var p1Range = docacc.getRangeByChild(p1);
|
||||
testTextRange(p1Range, "range by 'p1' child",
|
||||
p1, 0, "p1", 11, "text text",
|
||||
p1, ["p1_img"]);
|
||||
|
||||
testTextRange(docacc.getRangeByChild(getAccessible("p1_img")),
|
||||
"range by 'p1_img' child",
|
||||
"p1", 5, "p1", 5, "",
|
||||
"p1", ["p1_img"]);
|
||||
|
||||
var p2 = getAccessible("p2");
|
||||
var p2Range = docacc.getRangeByChild(p2);
|
||||
testTextRange(p2Range, "range by 'p2' child",
|
||||
p2, 0, "p2", 11, "text link text",
|
||||
p2, ["p2_a"]);
|
||||
|
||||
testTextRange(docacc.getRangeByChild(getAccessible("p2_a")),
|
||||
"range by 'p2_a' child",
|
||||
"p2_a", 0, "p2_a", 5, "link",
|
||||
"p2_a", ["p2_img"]);
|
||||
|
||||
// getRangeAtPoint
|
||||
getNode("p2_a").scrollIntoView(true);
|
||||
var [x, y] = getPos("p2_a");
|
||||
testTextRange(docacc.getRangeAtPoint(x + 1, y + 1),
|
||||
"range at 'p2_a' top-left edge",
|
||||
"p2_a", 0, "p2_a", 0, "",
|
||||
"p2_a");
|
||||
|
||||
// TextRange::compare
|
||||
ok(input.enclosingRange.compare(input.enclosingRange),
|
||||
"input enclosing ranges should be equal");
|
||||
|
||||
ok(!input.enclosingRange.compare(ta.enclosingRange),
|
||||
"input and textarea enclosing ranges can't be equal");
|
||||
|
||||
// TextRange::compareEndPoints
|
||||
var res = p1Range.compareEndPoints(EndPoint_End, p2Range, EndPoint_Start);
|
||||
is(res, -1, "p1 range must be lesser with p2 range");
|
||||
|
||||
res = p2Range.compareEndPoints(EndPoint_Start, p1Range, EndPoint_End);
|
||||
is(res, 1, "p2 range must be greater with p1 range");
|
||||
|
||||
res = p1Range.compareEndPoints(EndPoint_Start, p1Range, EndPoint_Start);
|
||||
is(res, 0, "p1 range must be equal with p1 range");
|
||||
|
||||
SimpleTest.finish();
|
||||
}
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
addA11yLoadEvent(doTest);
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a target="_blank"
|
||||
title="Implement Text accessible text range methods"
|
||||
href="https://bugzilla.mozilla.org/show_bug.cgi?id=975065">Bug 975065</a>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none"></div>
|
||||
<pre id="test">
|
||||
</pre>
|
||||
|
||||
<input id="input" value="hello">
|
||||
<textarea id="textarea">hello</textarea>
|
||||
<iframe id="iframe" src="data:text/html,<html><body><p id='p'>hello</p></body></html>"></iframe>
|
||||
<p id="p1">text <img id="p1_img", src="../moz.png"> text</p>
|
||||
<p id="p2">text <a id="p2_a" href="www">link<img id="p2_img", src="../moz.png"></a> text</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
120
accessible/tests/mochitest/textrange/test_selection.html
Normal file
120
accessible/tests/mochitest/textrange/test_selection.html
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Text Range selection 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="../common.js"></script>
|
||||
<script type="application/javascript"
|
||||
src="../text.js"></script>
|
||||
<script type="application/javascript"
|
||||
src="../layout.js"></script>
|
||||
<script type="application/javascript">
|
||||
|
||||
function doTest()
|
||||
{
|
||||
var sel = window.getSelection();
|
||||
var p = getNode("p1");
|
||||
var a = getNode("p2_a");
|
||||
|
||||
var range = document.createRange();
|
||||
sel.addRange(range);
|
||||
|
||||
// the accessible is contained by the range
|
||||
range.selectNode(p);
|
||||
|
||||
var a11yranges = getAccessible(document, [nsIAccessibleText]).selectionRanges;
|
||||
var a11yrange = a11yranges.queryElementAt(0, nsIAccessibleTextRange);
|
||||
|
||||
testTextRange(a11yrange, "selection range #1", document, 3, document, 4);
|
||||
|
||||
ok(a11yrange.crop(getAccessible(a)), "Range failed to crop #1.");
|
||||
testTextRange(a11yrange, "cropped range #1", a, 0, a, 5);
|
||||
|
||||
// the range is contained by the accessible
|
||||
range.selectNode(a);
|
||||
var a11yranges = getAccessible(document, [nsIAccessibleText]).selectionRanges;
|
||||
var a11yrange = a11yranges.queryElementAt(0, nsIAccessibleTextRange);
|
||||
|
||||
testTextRange(a11yrange, "selection range #2", p, 5, p, 6);
|
||||
|
||||
ok(a11yrange.crop(getAccessible(p)), "Range failed to crop #2.");
|
||||
testTextRange(a11yrange, "cropped range #2", p, 5, p, 6);
|
||||
|
||||
// the range starts before the accessible and ends inside it
|
||||
range.setStart(p, 0);
|
||||
range.setEndAfter(a.firstChild, 4);
|
||||
var a11yranges = getAccessible(document, [nsIAccessibleText]).selectionRanges;
|
||||
var a11yrange = a11yranges.queryElementAt(0, nsIAccessibleTextRange);
|
||||
|
||||
testTextRange(a11yrange, "selection range #3", p, 0, a, 4);
|
||||
|
||||
ok(a11yrange.crop(getAccessible(a)), "Range failed to crop #3.");
|
||||
testTextRange(a11yrange, "cropped range #3", a, 0, a, 4);
|
||||
|
||||
// the range starts inside the accessible and ends after it
|
||||
range.setStart(a.firstChild, 1);
|
||||
range.setEndAfter(p);
|
||||
var a11yranges = getAccessible(document, [nsIAccessibleText]).selectionRanges;
|
||||
var a11yrange = a11yranges.queryElementAt(0, nsIAccessibleTextRange);
|
||||
|
||||
testTextRange(a11yrange, "selection range #4", a, 1, document, 4);
|
||||
|
||||
ok(a11yrange.crop(getAccessible(a)), "Range failed to crop #4.");
|
||||
testTextRange(a11yrange, "cropped range #4", a, 1, a, 5);
|
||||
|
||||
// the range ends before the accessible
|
||||
range.setStart(p.firstChild, 0);
|
||||
range.setEnd(p.firstChild, 4);
|
||||
var a11yranges = getAccessible(document, [nsIAccessibleText]).selectionRanges;
|
||||
var a11yrange = a11yranges.queryElementAt(0, nsIAccessibleTextRange);
|
||||
|
||||
testTextRange(a11yrange, "selection range #5", p, 0, p, 4);
|
||||
ok(!a11yrange.crop(getAccessible(a)), "Crop #5 succeeded while it shouldn't");
|
||||
|
||||
// the range starts after the accessible
|
||||
range.setStart(p.lastChild, 0);
|
||||
range.setEnd(p.lastChild, 4);
|
||||
var a11yranges = getAccessible(document, [nsIAccessibleText]).selectionRanges;
|
||||
var a11yrange = a11yranges.queryElementAt(0, nsIAccessibleTextRange);
|
||||
|
||||
testTextRange(a11yrange, "selection range #6", p, 6, p, 10);
|
||||
|
||||
ok(!a11yrange.crop(getAccessible(a)), "Crop #6 succeeded while it shouldn't");
|
||||
|
||||
// crop a range by a table
|
||||
range.selectNode(getNode("c2"));
|
||||
var a11yranges = getAccessible(document, [nsIAccessibleText]).selectionRanges;
|
||||
var a11yrange = a11yranges.queryElementAt(0, nsIAccessibleTextRange);
|
||||
|
||||
testTextRange(a11yrange, "selection range #7", document, 4, document, 5);
|
||||
|
||||
ok(a11yrange.crop(getAccessible("table")), "Range failed to crop #7.");
|
||||
testTextRange(a11yrange, "cropped range #7", "c2", 5, "c2", 6);
|
||||
|
||||
SimpleTest.finish();
|
||||
}
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
addA11yLoadEvent(doTest);
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a target="_blank"
|
||||
title="Implement IAccessible2_3::selectionRanges"
|
||||
href="https://bugzilla.mozilla.org/show_bug.cgi?id=1233118">Bug 1233118</a>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none"></div>
|
||||
<pre id="test">
|
||||
</pre>
|
||||
|
||||
<p id="p1">text <a id="p2_a" href="www">link<img id="p2_img", src="../moz.png"></a> text</p>
|
||||
|
||||
<div id="c2">start<table id="table"><tr><td>cell</td></tr></table>end</div>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue