summaryrefslogtreecommitdiffstats
path: root/accessible/tests/mochitest/textrange/test_general.html
blob: 8ddbd77a9cab00006f338a3d5ed6e6e1a3152c91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<!DOCTYPE html>
<html>
<head>
  <title>Text Range tests</title>
  <link rel="stylesheet" type="text/css"
        href="chrome://mochikit/content/tests/SimpleTest/test.css" />

  <script 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() {
      const sel = window.getSelection();
      const r1 = document.createRange();
      r1.selectNode(getNode("p1"));
      sel.addRange(r1);
      const r2 = document.createRange();
      r2.selectNode(getNode("p2"));
      sel.addRange(r2);
      const docAcc = getAccessible(document, [nsIAccessibleText]);
      const accRanges = docAcc.selectionRanges;
      const p1Range = accRanges.queryElementAt(0, nsIAccessibleTextRange);
      const p1RangeCopy = docAcc.selectionRanges.queryElementAt(0, nsIAccessibleTextRange);
      const p2Range = accRanges.queryElementAt(1, nsIAccessibleTextRange);

      // TextRange::compare
      ok(p1Range.compare(p1RangeCopy),
         "p1 ranges should be equal");

      ok(!p1Range.compare(p2Range),
         "p1 and p2 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>

  <p id="p1">text <img id="p1_img", src="../moz.png"> text</p>
  <p>between</p>
  <p id="p2">text <a id="p2_a" href="www">link<img id="p2_img", src="../moz.png"></a> text</p>

</body>
</html>