~ubuntu-branches/ubuntu/trusty/mediawiki/trusty

« back to all changes in this revision

Viewing changes to tests/qunit/suites/resources/jquery/jquery.highlightText.test.js

  • Committer: Package Import Robot
  • Author(s): Thorsten Glaser
  • Date: 2014-03-28 09:56:29 UTC
  • mfrom: (1.3.14)
  • Revision ID: package-import@ubuntu.com-20140328095629-1526y9tchdd507id
Tags: 1:1.19.14+dfsg-1
* New upstream security fix release (Closes: #742857):
  - (bug 62497) SECURITY: Add CSRF token on Special:ChangePassword
  - (bug 62467) Set a title for the context during import on the cli
* Use upstream-provided signing key bundle

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
module( 'jquery.highlightText', QUnit.newMwEnvironment() );
 
2
 
 
3
test( '-- Initial check', function() {
 
4
        expect(1);
 
5
        ok( $.fn.highlightText, 'jQuery.fn.highlightText defined' );
 
6
} );
 
7
 
 
8
test( 'Check', function() {
 
9
        var cases = [
 
10
                {
 
11
                        desc: 'Test 001',
 
12
                        text: 'Blue Öyster Cult',
 
13
                        highlight: 'Blue',
 
14
                        expected: '<span class="highlight">Blue</span> Öyster Cult'
 
15
                },
 
16
                {
 
17
                        desc: 'Test 002',
 
18
                        text: 'Blue Öyster Cult',
 
19
                        highlight: 'Blue ',
 
20
                        expected: '<span class="highlight">Blue</span> Öyster Cult'
 
21
                },
 
22
                {
 
23
                        desc: 'Test 003',
 
24
                        text: 'Blue Öyster Cult',
 
25
                        highlight: 'Blue Ö',
 
26
                        expected: '<span class="highlight">Blue</span> <span class="highlight">Ö</span>yster Cult'
 
27
                },
 
28
                {
 
29
                        desc: 'Test 004',
 
30
                        text: 'Blue Öyster Cult',
 
31
                        highlight: 'Blue Öy',
 
32
                        expected: '<span class="highlight">Blue</span> <span class="highlight">Öy</span>ster Cult'
 
33
                },
 
34
                {
 
35
                        desc: 'Test 005',
 
36
                        text: 'Blue Öyster Cult',
 
37
                        highlight: ' Blue',
 
38
                        expected: '<span class="highlight">Blue</span> Öyster Cult'
 
39
                },
 
40
                {
 
41
                        desc: 'Test 006',
 
42
                        text: 'Blue Öyster Cult',
 
43
                        highlight: ' Blue ',
 
44
                        expected: '<span class="highlight">Blue</span> Öyster Cult'
 
45
                },
 
46
                {
 
47
                        desc: 'Test 007',
 
48
                        text: 'Blue Öyster Cult',
 
49
                        highlight: ' Blue Ö',
 
50
                        expected: '<span class="highlight">Blue</span> <span class="highlight">Ö</span>yster Cult'
 
51
                },
 
52
                {
 
53
                        desc: 'Test 008',
 
54
                        text: 'Blue Öyster Cult',
 
55
                        highlight: ' Blue Öy',
 
56
                        expected: '<span class="highlight">Blue</span> <span class="highlight">Öy</span>ster Cult'
 
57
                },
 
58
                {
 
59
                        desc: 'Test 009: Highlighter broken on starting Umlaut?',
 
60
                        text: 'Österreich',
 
61
                        highlight: 'Österreich',
 
62
                        expected: '<span class="highlight">Österreich</span>'
 
63
                },
 
64
                {
 
65
                        desc: 'Test 010: Highlighter broken on starting Umlaut?',
 
66
                        text: 'Österreich',
 
67
                        highlight: 'Ö',
 
68
                        expected: '<span class="highlight">Ö</span>sterreich'
 
69
                },
 
70
                {
 
71
                        desc: 'Test 011: Highlighter broken on starting Umlaut?',
 
72
                        text: 'Österreich',
 
73
                        highlight: 'Öst',
 
74
                        expected: '<span class="highlight">Öst</span>erreich'
 
75
                },
 
76
                {
 
77
                        desc: 'Test 012: Highlighter broken on starting Umlaut?',
 
78
                        text: 'Österreich',
 
79
                        highlight: 'Oe',
 
80
                        expected: 'Österreich'
 
81
                },
 
82
                {
 
83
                        desc: 'Test 013: Highlighter broken on punctuation mark?',
 
84
                        text: 'So good. To be there',
 
85
                        highlight: 'good',
 
86
                        expected: 'So <span class="highlight">good</span>. To be there'
 
87
                },
 
88
                {
 
89
                        desc: 'Test 014: Highlighter broken on space?',
 
90
                        text: 'So good. To be there',
 
91
                        highlight: 'be',
 
92
                        expected: 'So good. To <span class="highlight">be</span> there'
 
93
                },
 
94
                {
 
95
                        desc: 'Test 015: Highlighter broken on space?',
 
96
                        text: 'So good. To be there',
 
97
                        highlight: ' be',
 
98
                        expected: 'So good. To <span class="highlight">be</span> there'
 
99
                },
 
100
                {
 
101
                        desc: 'Test 016: Highlighter broken on space?',
 
102
                        text: 'So good. To be there',
 
103
                        highlight: 'be ',
 
104
                        expected: 'So good. To <span class="highlight">be</span> there'
 
105
                },
 
106
                {
 
107
                        desc: 'Test 017: Highlighter broken on space?',
 
108
                        text: 'So good. To be there',
 
109
                        highlight: ' be ',
 
110
                        expected: 'So good. To <span class="highlight">be</span> there'
 
111
                },
 
112
                {
 
113
                        desc: 'Test 018: en de Highlighter broken on special character at the end?',
 
114
                        text: 'So good. xbß',
 
115
                        highlight: 'xbß',
 
116
                        expected: 'So good. <span class="highlight">xbß</span>'
 
117
                },
 
118
                {
 
119
                        desc: 'Test 019: en de Highlighter broken on special character at the end?',
 
120
                        text: 'So good. xbß.',
 
121
                        highlight: 'xbß.',
 
122
                        expected: 'So good. <span class="highlight">xbß.</span>'
 
123
                },
 
124
                {
 
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>'
 
129
                },
 
130
                {
 
131
                        desc: 'Test 021: RTL he Hebrew',
 
132
                        text: 'חסיד אומות העולם',
 
133
                        highlight: 'חסי',
 
134
                        expected: '<span class="highlight">חסי</span>ד אומות העולם'
 
135
                },
 
136
                {
 
137
                        desc: 'Test 022: ja Japanese',
 
138
                        text: '諸国民の中の正義の人',
 
139
                        highlight: '諸国民の中の正義の人',
 
140
                        expected: '<span class="highlight">諸国民の中の正義の人</span>'
 
141
                },
 
142
                {
 
143
                        desc: 'Test 023: ja Japanese',
 
144
                        text: '諸国民の中の正義の人',
 
145
                        highlight: '諸国',
 
146
                        expected: '<span class="highlight">諸国</span>民の中の正義の人'
 
147
                },
 
148
                {
 
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>'
 
153
                },
 
154
                {
 
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 »'
 
159
                },
 
160
                {
 
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 »",
 
163
                        highlight: "« L",
 
164
                        expected: '<span class="highlight">«</span> <span class="highlight">L</span>\'oiseau est sur <span class="highlight">l</span>’île »'
 
165
                },
 
166
                {
 
167
                        desc: 'Test 026: ru Russian',
 
168
                        text: 'Праведники мира',
 
169
                        highlight: 'Праведники мира',
 
170
                        expected: '<span class="highlight">Праведники</span> <span class="highlight">мира</span>'
 
171
                },
 
172
                {
 
173
                        desc: 'Test 027: ru Russian',
 
174
                        text: 'Праведники мира',
 
175
                        highlight: 'Праве',
 
176
                        expected: '<span class="highlight">Праве</span>дники мира'
 
177
                },
 
178
                {
 
179
                        desc: 'Test 028 ka Georgian',
 
180
                        text: 'მთავარი გვერდი',
 
181
                        highlight: 'მთავარი გვერდი',
 
182
                        expected: '<span class="highlight">მთავარი</span> <span class="highlight">გვერდი</span>'
 
183
                },
 
184
                {
 
185
                        desc: 'Test 029 ka Georgian',
 
186
                        text: 'მთავარი გვერდი',
 
187
                        highlight: 'მთა',
 
188
                        expected: '<span class="highlight">მთა</span>ვარი გვერდი'
 
189
                },
 
190
                {
 
191
                        desc: 'Test 030 hy Armenian',
 
192
                        text: 'Նոնա Գափրինդաշվիլի',
 
193
                        highlight: 'Նոնա Գափրինդաշվիլի',
 
194
                        expected: '<span class="highlight">Նոնա</span> <span class="highlight">Գափրինդաշվիլի</span>'
 
195
                },
 
196
                {
 
197
                        desc: 'Test 031 hy Armenian',
 
198
                        text: 'Նոնա Գափրինդաշվիլի',
 
199
                        highlight: 'Նոն',
 
200
                        expected: '<span class="highlight">Նոն</span>ա Գափրինդաշվիլի'
 
201
                },
 
202
                {
 
203
                        desc: 'Test 032: th Thai',
 
204
                        text: 'พอล แอร์ดิช',
 
205
                        highlight: 'พอล แอร์ดิช',
 
206
                        expected: '<span class="highlight">พอล</span> <span class="highlight">แอร์ดิช</span>'
 
207
                },
 
208
                {
 
209
                        desc: 'Test 033: th Thai',
 
210
                        text: 'พอล แอร์ดิช',
 
211
                        highlight: 'พอ',
 
212
                        expected: '<span class="highlight">พอ</span>ล แอร์ดิช'
 
213
                },
 
214
                {
 
215
                        desc: 'Test 034: RTL ar Arabic',
 
216
                        text: 'بول إيردوس',
 
217
                        highlight: 'بول إيردوس',
 
218
                        expected: '<span class="highlight">بول</span> <span class="highlight">إيردوس</span>'
 
219
                },
 
220
                {
 
221
                        desc: 'Test 035: RTL ar Arabic',
 
222
                        text: 'بول إيردوس',
 
223
                        highlight: 'بو',
 
224
                        expected: '<span class="highlight">بو</span>ل إيردوس'
 
225
                }
 
226
        ];
 
227
        expect(cases.length);
 
228
        var $fixture;
 
229
 
 
230
        $.each(cases, function( i, item ) {
 
231
                $fixture = $( '<p></p>' ).text( item.text );
 
232
                $fixture.highlightText( item.highlight );
 
233
                equals(
 
234
                        $fixture.html(),
 
235
                        $('<p>' + item.expected + '</p>').html(), // re-parse to normalize!
 
236
                        item.desc || undefined
 
237
                        );
 
238
        } );
 
239
} );