1 QUnit
.module( 'jquery.highlightText', QUnit
.newMwEnvironment() );
3 QUnit
.test( 'Check', function ( assert
) {
4 var $fixture
, cases
= [
7 text
: 'Blue Öyster Cult',
9 expected
: '<span class="highlight">Blue</span> Öyster Cult'
13 text
: 'Blue Öyster Cult',
15 expected
: '<span class="highlight">Blue</span> Öyster Cult'
19 text
: 'Blue Öyster Cult',
21 expected
: '<span class="highlight">Blue</span> <span class="highlight">Ö</span>yster Cult'
25 text
: 'Blue Öyster Cult',
27 expected
: '<span class="highlight">Blue</span> <span class="highlight">Öy</span>ster Cult'
31 text
: 'Blue Öyster Cult',
33 expected
: '<span class="highlight">Blue</span> Öyster Cult'
37 text
: 'Blue Öyster Cult',
39 expected
: '<span class="highlight">Blue</span> Öyster Cult'
43 text
: 'Blue Öyster Cult',
45 expected
: '<span class="highlight">Blue</span> <span class="highlight">Ö</span>yster Cult'
49 text
: 'Blue Öyster Cult',
50 highlight
: ' Blue Öy',
51 expected
: '<span class="highlight">Blue</span> <span class="highlight">Öy</span>ster Cult'
54 desc
: 'Test 009: Highlighter broken on starting Umlaut?',
56 highlight
: 'Österreich',
57 expected
: '<span class="highlight">Österreich</span>'
60 desc
: 'Test 010: Highlighter broken on starting Umlaut?',
63 expected
: '<span class="highlight">Ö</span>sterreich'
66 desc
: 'Test 011: Highlighter broken on starting Umlaut?',
69 expected
: '<span class="highlight">Öst</span>erreich'
72 desc
: 'Test 012: Highlighter broken on starting Umlaut?',
75 expected
: 'Österreich'
78 desc
: 'Test 013: Highlighter broken on punctuation mark?',
79 text
: 'So good. To be there',
81 expected
: 'So <span class="highlight">good</span>. To be there'
84 desc
: 'Test 014: Highlighter broken on space?',
85 text
: 'So good. To be there',
87 expected
: 'So good. To <span class="highlight">be</span> there'
90 desc
: 'Test 015: Highlighter broken on space?',
91 text
: 'So good. To be there',
93 expected
: 'So good. To <span class="highlight">be</span> there'
96 desc
: 'Test 016: Highlighter broken on space?',
97 text
: 'So good. To be there',
99 expected
: 'So good. To <span class="highlight">be</span> there'
102 desc
: 'Test 017: Highlighter broken on space?',
103 text
: 'So good. To be there',
105 expected
: 'So good. To <span class="highlight">be</span> there'
108 desc
: 'Test 018: en de Highlighter broken on special character at the end?',
109 text
: 'So good. xbß',
111 expected
: 'So good. <span class="highlight">xbß</span>'
114 desc
: 'Test 019: en de Highlighter broken on special character at the end?',
115 text
: 'So good. xbß.',
117 expected
: 'So good. <span class="highlight">xbß.</span>'
120 desc
: 'Test 020: RTL he Hebrew',
121 text
: 'חסיד אומות העולם',
122 highlight
: 'חסיד אומות העולם',
123 expected
: '<span class="highlight">חסיד</span> <span class="highlight">אומות</span> <span class="highlight">העולם</span>'
126 desc
: 'Test 021: RTL he Hebrew',
127 text
: 'חסיד אומות העולם',
129 expected
: '<span class="highlight">חסי</span>ד אומות העולם'
132 desc
: 'Test 022: ja Japanese',
134 highlight
: '諸国民の中の正義の人',
135 expected
: '<span class="highlight">諸国民の中の正義の人</span>'
138 desc
: 'Test 023: ja Japanese',
141 expected
: '<span class="highlight">諸国</span>民の中の正義の人'
144 desc
: 'Test 024: fr French text and « french quotes » (guillemets)',
145 text
: "« L'oiseau est sur l’île »",
146 highlight
: "« L'oiseau est sur l’île »",
147 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>'
150 desc
: 'Test 025: fr French text and « french quotes » (guillemets)',
151 text
: "« L'oiseau est sur l’île »",
152 highlight
: "« L'oise",
153 expected
: '<span class="highlight">«</span> <span class="highlight">L\'oise</span>au est sur l’île »'
156 desc
: 'Test 025a: fr French text and « french quotes » (guillemets) - does it match the single strings "«" and "L" separately?',
157 text
: "« L'oiseau est sur l’île »",
159 expected
: '<span class="highlight">«</span> <span class="highlight">L</span>\'oiseau est sur <span class="highlight">l</span>’île »'
162 desc
: 'Test 026: ru Russian',
163 text
: 'Праведники мира',
164 highlight
: 'Праведники мира',
165 expected
: '<span class="highlight">Праведники</span> <span class="highlight">мира</span>'
168 desc
: 'Test 027: ru Russian',
169 text
: 'Праведники мира',
171 expected
: '<span class="highlight">Праве</span>дники мира'
174 desc
: 'Test 028 ka Georgian',
175 text
: 'მთავარი გვერდი',
176 highlight
: 'მთავარი გვერდი',
177 expected
: '<span class="highlight">მთავარი</span> <span class="highlight">გვერდი</span>'
180 desc
: 'Test 029 ka Georgian',
181 text
: 'მთავარი გვერდი',
183 expected
: '<span class="highlight">მთა</span>ვარი გვერდი'
186 desc
: 'Test 030 hy Armenian',
187 text
: 'Նոնա Գափրինդաշվիլի',
188 highlight
: 'Նոնա Գափրինդաշվիլի',
189 expected
: '<span class="highlight">Նոնա</span> <span class="highlight">Գափրինդաշվիլի</span>'
192 desc
: 'Test 031 hy Armenian',
193 text
: 'Նոնա Գափրինդաշվիլի',
195 expected
: '<span class="highlight">Նոն</span>ա Գափրինդաշվիլի'
198 desc
: 'Test 032: th Thai',
200 highlight
: 'พอล แอร์ดิช',
201 expected
: '<span class="highlight">พอล</span> <span class="highlight">แอร์ดิช</span>'
204 desc
: 'Test 033: th Thai',
207 expected
: '<span class="highlight">พอ</span>ล แอร์ดิช'
210 desc
: 'Test 034: RTL ar Arabic',
212 highlight
: 'بول إيردوس',
213 expected
: '<span class="highlight">بول</span> <span class="highlight">إيردوس</span>'
216 desc
: 'Test 035: RTL ar Arabic',
219 expected
: '<span class="highlight">بو</span>ل إيردوس'
222 QUnit
.expect( cases
.length
);
224 $.each( cases
, function ( i
, item
) {
225 $fixture
= $( '<p>' ).text( item
.text
).highlightText( item
.highlight
);
228 $( '<p>' ).html( item
.expected
).html(), // re-parse to normalize!
229 item
.desc
|| undefined