1
module( 'jquery.highlightText', QUnit.newMwEnvironment() );
3
test( '-- Initial check', function() {
5
ok( $.fn.highlightText, 'jQuery.fn.highlightText defined' );
8
test( 'Check', function() {
12
text: 'Blue Öyster Cult',
14
expected: '<span class="highlight">Blue</span> Öyster Cult'
18
text: 'Blue Öyster Cult',
20
expected: '<span class="highlight">Blue</span> Öyster Cult'
24
text: 'Blue Öyster Cult',
26
expected: '<span class="highlight">Blue</span> <span class="highlight">Ö</span>yster Cult'
30
text: 'Blue Öyster Cult',
32
expected: '<span class="highlight">Blue</span> <span class="highlight">Öy</span>ster Cult'
36
text: 'Blue Öyster Cult',
38
expected: '<span class="highlight">Blue</span> Öyster Cult'
42
text: 'Blue Öyster Cult',
44
expected: '<span class="highlight">Blue</span> Öyster Cult'
48
text: 'Blue Öyster Cult',
50
expected: '<span class="highlight">Blue</span> <span class="highlight">Ö</span>yster Cult'
54
text: 'Blue Öyster Cult',
55
highlight: ' Blue Öy',
56
expected: '<span class="highlight">Blue</span> <span class="highlight">Öy</span>ster Cult'
59
desc: 'Test 009: Highlighter broken on starting Umlaut?',
61
highlight: 'Österreich',
62
expected: '<span class="highlight">Österreich</span>'
65
desc: 'Test 010: Highlighter broken on starting Umlaut?',
68
expected: '<span class="highlight">Ö</span>sterreich'
71
desc: 'Test 011: Highlighter broken on starting Umlaut?',
74
expected: '<span class="highlight">Öst</span>erreich'
77
desc: 'Test 012: Highlighter broken on starting Umlaut?',
80
expected: 'Österreich'
83
desc: 'Test 013: Highlighter broken on punctuation mark?',
84
text: 'So good. To be there',
86
expected: 'So <span class="highlight">good</span>. To be there'
89
desc: 'Test 014: Highlighter broken on space?',
90
text: 'So good. To be there',
92
expected: 'So good. To <span class="highlight">be</span> there'
95
desc: 'Test 015: Highlighter broken on space?',
96
text: 'So good. To be there',
98
expected: 'So good. To <span class="highlight">be</span> there'
101
desc: 'Test 016: Highlighter broken on space?',
102
text: 'So good. To be there',
104
expected: 'So good. To <span class="highlight">be</span> there'
107
desc: 'Test 017: Highlighter broken on space?',
108
text: 'So good. To be there',
110
expected: 'So good. To <span class="highlight">be</span> there'
113
desc: 'Test 018: en de Highlighter broken on special character at the end?',
114
text: 'So good. xbß',
116
expected: 'So good. <span class="highlight">xbß</span>'
119
desc: 'Test 019: en de Highlighter broken on special character at the end?',
120
text: 'So good. xbß.',
122
expected: 'So good. <span class="highlight">xbß.</span>'
125
desc: 'Test 020: RTL he Hebrew',
126
text: 'חסיד אומות העולם',
127
highlight: 'חסיד אומות העולם',
128
expected: '<span class="highlight">חסיד</span> <span class="highlight">אומות</span> <span class="highlight">העולם</span>'
131
desc: 'Test 021: RTL he Hebrew',
132
text: 'חסיד אומות העולם',
134
expected: '<span class="highlight">חסי</span>ד אומות העולם'
137
desc: 'Test 022: ja Japanese',
139
highlight: '諸国民の中の正義の人',
140
expected: '<span class="highlight">諸国民の中の正義の人</span>'
143
desc: 'Test 023: ja Japanese',
146
expected: '<span class="highlight">諸国</span>民の中の正義の人'
149
desc: 'Test 024: fr French text and « french quotes » (guillemets)',
150
text: "« L'oiseau est sur l’île »",
151
highlight: "« L'oiseau est sur l’île »",
152
expected: '<span class="highlight">«</span> <span class="highlight">L\'oiseau</span> <span class="highlight">est</span> <span class="highlight">sur</span> <span class="highlight">l’île</span> <span class="highlight">»</span>'
155
desc: 'Test 025: fr French text and « french quotes » (guillemets)',
156
text: "« L'oiseau est sur l’île »",
157
highlight: "« L'oise",
158
expected: '<span class="highlight">«</span> <span class="highlight">L\'oise</span>au est sur l’île »'
161
desc: 'Test 025a: fr French text and « french quotes » (guillemets) - does it match the single strings "«" and "L" separately?',
162
text: "« L'oiseau est sur l’île »",
164
expected: '<span class="highlight">«</span> <span class="highlight">L</span>\'oiseau est sur <span class="highlight">l</span>’île »'
167
desc: 'Test 026: ru Russian',
168
text: 'Праведники мира',
169
highlight: 'Праведники мира',
170
expected: '<span class="highlight">Праведники</span> <span class="highlight">мира</span>'
173
desc: 'Test 027: ru Russian',
174
text: 'Праведники мира',
176
expected: '<span class="highlight">Праве</span>дники мира'
179
desc: 'Test 028 ka Georgian',
180
text: 'მთავარი გვერდი',
181
highlight: 'მთავარი გვერდი',
182
expected: '<span class="highlight">მთავარი</span> <span class="highlight">გვერდი</span>'
185
desc: 'Test 029 ka Georgian',
186
text: 'მთავარი გვერდი',
188
expected: '<span class="highlight">მთა</span>ვარი გვერდი'
191
desc: 'Test 030 hy Armenian',
192
text: 'Նոնա Գափրինդաշվիլի',
193
highlight: 'Նոնա Գափրինդաշվիլի',
194
expected: '<span class="highlight">Նոնա</span> <span class="highlight">Գափրինդաշվիլի</span>'
197
desc: 'Test 031 hy Armenian',
198
text: 'Նոնա Գափրինդաշվիլի',
200
expected: '<span class="highlight">Նոն</span>ա Գափրինդաշվիլի'
203
desc: 'Test 032: th Thai',
205
highlight: 'พอล แอร์ดิช',
206
expected: '<span class="highlight">พอล</span> <span class="highlight">แอร์ดิช</span>'
209
desc: 'Test 033: th Thai',
212
expected: '<span class="highlight">พอ</span>ล แอร์ดิช'
215
desc: 'Test 034: RTL ar Arabic',
217
highlight: 'بول إيردوس',
218
expected: '<span class="highlight">بول</span> <span class="highlight">إيردوس</span>'
221
desc: 'Test 035: RTL ar Arabic',
224
expected: '<span class="highlight">بو</span>ل إيردوس'
227
expect(cases.length);
230
$.each(cases, function( i, item ) {
231
$fixture = $( '<p></p>' ).text( item.text );
232
$fixture.highlightText( item.highlight );
235
$('<p>' + item.expected + '</p>').html(), // re-parse to normalize!
236
item.desc || undefined