summaryrefslogtreecommitdiffstats
path: root/accessible/tests/mochitest/text/test_gettext.html
blob: 2f221a416ba2dcbc5aff479bdab3826952354388 (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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<!DOCTYPE html>
<html>
<head>
  <title>Get text between offsets tests</title>
  <meta charset="utf-8">
  <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">
    function doTest() {
      // ////////////////////////////////////////////////////////////////////////
      //
      // __h__e__l__l__o__ __m__y__ __f__r__i__e__n__d__
      //  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15

      var IDs = [ "i1", "d1", "d1wrap", "e1", "t1" ];

      testCharacterCount(IDs, 15);

      testText(IDs, 0, 1, "h");
      testText(IDs, 1, 3, "el");
      testText(IDs, 14, 15, "d");
      testText(IDs, 0, 15, "hello my friend");
      testText(IDs, 0, -1, "hello my friend");

      // ////////////////////////////////////////////////////////////////////////
      //
      // __B__r__a__v__e__ __S__i__r__ __ __R__o__b__i__n__ __ __ __r__a__n
      //  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21

      IDs = [ "i2", "dpre2", "epre2", "t2" ];

      testCharacterCount(IDs, 22);

      testText(IDs, 0, 1, "B");
      testText(IDs, 5, 6, " ");
      testText(IDs, 9, 11, "  ");
      testText(IDs, 16, 19, "   ");
      testText(IDs, 0, 22, "Brave Sir  Robin   ran");
      testText(IDs, 0, -1, "Brave Sir  Robin   ran");

      testCharacterCount(["d2", "e2"], 19);
      testText(["d2", "e2"], 0, 19, "Brave Sir Robin ran");

      // ////////////////////////////////////////////////////////////////////////
      //
      // __o__n__e__w__o__r__d__\n
      //  0  1  2  3  4  5  6  7
      // __\n
      //  8
      // __t__w__o__ __w__o__r__d__s__\n
      //  9 10 11 12 13 14 15 16 17 18

      IDs = ["d3", "dbr3", "e3", "ebr3", "t3"];

      testCharacterCount(IDs, 19);

      testText(IDs, 0, 19, "oneword\n\ntwo words\n");
      testText(IDs, 0, -1, "oneword\n\ntwo words\n");

      // ////////////////////////////////////////////////////////////////////////
      //
      // CSS text-transform
      //
      // Content with `text-transform:uppercase | lowercase | capitalize` returns
      // the transformed content.
      //
      testText(["d4a"], 0, -1, "HELLO MY FRIEND");
      testText(["d4b"], 0, -1, "hello my friend");
      testText(["d4c"], 0, -1, "Hello My Friend");

      // `text-transform: full-width | full-size-kana` should not be reflected in
      // a11y.
      testText(["d5a"], 0, -1, "hello my friend");
      testText(["d5b"], 0, -1, "ゕゖヵヶ");

      SimpleTest.finish();
    }

    SimpleTest.waitForExplicitFinish();
    addA11yLoadEvent(doTest);
  </script>
</head>
<body>

  <p id="display"></p>
  <div id="content" style="display: none"></div>
  <pre id="test">
  </pre>

  <input id="i1" value="hello my friend"/>
  <div id="d1">hello my friend</div>
  <div id="d1wrap" style="word-wrap:break-word; width:1px">hello my friend</div>
  <div id="e1" contenteditable="true">hello my friend</div>
  <textarea id="t1">hello my friend</textarea>

  <input id="i2" value="Brave Sir  Robin   ran"/>
  <pre><div id="dpre2">Brave Sir  Robin   ran</div></pre>
  <pre><div id="epre2" contenteditable="true">Brave Sir  Robin   ran</div></pre>
  <textarea id="t2" cols="300">Brave Sir  Robin   ran</textarea>
  <div id="d2">Brave Sir  Robin   ran</div>
  <div id="e2" contenteditable="true">Brave Sir  Robin   ran</div>

  <pre>
  <div id="d3">oneword

two words
</div>
  <div id="dbr3">oneword<br/><br/>two words<br/></div>
  <div id="e3" contenteditable="true">oneword

two words
</div>
  <div id="ebr3" contenteditable="true">oneword<br/><br/>two words<br/></div>
  <textarea id="t3" cols="300">oneword

two words
</textarea>
  </pre>

  <div id="d4a" style="text-transform:uppercase">Hello My Friend</div>
  <div id="d4b" style="text-transform:lowercase">Hello My Friend</div>
  <div id="d4c" style="text-transform:capitalize">hello my friend</div>

  <div id="d5a" style="text-transform:full-width">hello my friend</div>
  <div id="d5b" style="text-transform:full-size-kana">ゕゖヵヶ</div>

</body>
</html>