Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(248)

Side by Side Diff: packages/intl/test/bidi_utils_test.dart

Issue 2989763002: Update charted to 0.4.8 and roll (Closed)
Patch Set: Removed Cutch from list of reviewers Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library bidi_utils_test; 5 library bidi_utils_test;
6 6
7 import 'package:intl/intl.dart'; 7 import 'package:intl/intl.dart';
8 import 'package:unittest/unittest.dart'; 8 import 'package:test/test.dart';
9 9
10 /** 10 /// Tests the bidi utilities library.
11 * Tests the bidi utilities library.
12 */
13 main() { 11 main() {
14 var LRE = '\u202A'; 12 var LRE = '\u202A';
15 var RLE = '\u202B'; 13 var RLE = '\u202B';
16 var PDF = '\u202C'; 14 var PDF = '\u202C';
17 15
18 test('isRtlLang', () { 16 test('isRtlLang', () {
19 expect(Bidi.isRtlLanguage('en'), isFalse); 17 expect(Bidi.isRtlLanguage('en'), isFalse);
20 expect(Bidi.isRtlLanguage('fr'), isFalse); 18 expect(Bidi.isRtlLanguage('fr'), isFalse);
21 expect(Bidi.isRtlLanguage('zh-CN'), isFalse); 19 expect(Bidi.isRtlLanguage('zh-CN'), isFalse);
22 expect(Bidi.isRtlLanguage('fil'), isFalse); 20 expect(Bidi.isRtlLanguage('fil'), isFalse);
23 expect(Bidi.isRtlLanguage('az'), isFalse); 21 expect(Bidi.isRtlLanguage('az'), isFalse);
24 expect(Bidi.isRtlLanguage('iw-Latn'), isFalse); 22 expect(Bidi.isRtlLanguage('iw-Latn'), isFalse);
25 expect(Bidi.isRtlLanguage('iw-LATN'), isFalse); 23 expect(Bidi.isRtlLanguage('iw-LATN'), isFalse);
26 expect(Bidi.isRtlLanguage('iw_latn'), isFalse); 24 expect(Bidi.isRtlLanguage('iw_latn'), isFalse);
27 expect(Bidi.isRtlLanguage('ar'), isTrue); 25 expect(Bidi.isRtlLanguage('ar'), isTrue);
28 expect(Bidi.isRtlLanguage('AR'), isTrue); 26 expect(Bidi.isRtlLanguage('AR'), isTrue);
29 expect(Bidi.isRtlLanguage('iw'), isTrue); 27 expect(Bidi.isRtlLanguage('iw'), isTrue);
30 expect(Bidi.isRtlLanguage('he'), isTrue); 28 expect(Bidi.isRtlLanguage('he'), isTrue);
31 expect(Bidi.isRtlLanguage('fa'), isTrue); 29 expect(Bidi.isRtlLanguage('fa'), isTrue);
32 expect(Bidi.isRtlLanguage('ar-EG'), isTrue); 30 expect(Bidi.isRtlLanguage('ar-EG'), isTrue);
33 expect(Bidi.isRtlLanguage('az-Arab'), isTrue); 31 expect(Bidi.isRtlLanguage('az-Arab'), isTrue);
34 expect(Bidi.isRtlLanguage('az-ARAB-IR'), isTrue); 32 expect(Bidi.isRtlLanguage('az-ARAB-IR'), isTrue);
35 expect(Bidi.isRtlLanguage('az_arab_IR'), isTrue); 33 expect(Bidi.isRtlLanguage('az_arab_IR'), isTrue);
34 Intl.withLocale('en_US', () {
35 expect(Bidi.isRtlLanguage(), isFalse);
36 });
37 Intl.withLocale('ar', () {
38 expect(Bidi.isRtlLanguage(), isTrue);
39 });
40 Intl.withLocale(null, () {
41 expect(Bidi.isRtlLanguage(), Bidi.isRtlLanguage(Intl.systemLocale));
42 });
36 }); 43 });
37 44
38 test('hasAnyLtr', () { 45 test('hasAnyLtr', () {
39 expect(Bidi.hasAnyLtr(''), isFalse); 46 expect(Bidi.hasAnyLtr(''), isFalse);
40 expect(Bidi.hasAnyLtr('\u05e0\u05e1\u05e2'), isFalse); 47 expect(Bidi.hasAnyLtr('\u05e0\u05e1\u05e2'), isFalse);
41 expect(Bidi.hasAnyLtr('\u05e0\u05e1z\u05e2'), isTrue); 48 expect(Bidi.hasAnyLtr('\u05e0\u05e1z\u05e2'), isTrue);
42 expect(Bidi.hasAnyLtr('123\t... \n'), isFalse); 49 expect(Bidi.hasAnyLtr('123\t... \n'), isFalse);
43 expect(Bidi.hasAnyLtr('<br>123&lt;', false), isTrue); 50 expect(Bidi.hasAnyLtr('<br>123&lt;', false), isTrue);
44 expect(Bidi.hasAnyLtr('<br>123&lt;', true), isFalse); 51 expect(Bidi.hasAnyLtr('<br>123&lt;', true), isFalse);
45 }); 52 });
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 equals(TextDirection.UNKNOWN.value)); 192 equals(TextDirection.UNKNOWN.value));
186 expect(Bidi.estimateDirectionOfText('! (...)', isHtml: false).value, 193 expect(Bidi.estimateDirectionOfText('! (...)', isHtml: false).value,
187 equals(TextDirection.UNKNOWN.value)); 194 equals(TextDirection.UNKNOWN.value));
188 expect( 195 expect(
189 Bidi.estimateDirectionOfText('All-Ascii content', isHtml: false).value, 196 Bidi.estimateDirectionOfText('All-Ascii content', isHtml: false).value,
190 equals(TextDirection.LTR.value)); 197 equals(TextDirection.LTR.value));
191 expect(Bidi.estimateDirectionOfText('-17.0%', isHtml: false).value, 198 expect(Bidi.estimateDirectionOfText('-17.0%', isHtml: false).value,
192 equals(TextDirection.LTR.value)); 199 equals(TextDirection.LTR.value));
193 expect(Bidi.estimateDirectionOfText('http://foo/bar/', isHtml: false).value, 200 expect(Bidi.estimateDirectionOfText('http://foo/bar/', isHtml: false).value,
194 equals(TextDirection.LTR.value)); 201 equals(TextDirection.LTR.value));
195 expect(Bidi.estimateDirectionOfText( 202 expect(
196 'http://foo/bar/?s=\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0' 203 Bidi
197 '\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0' 204 .estimateDirectionOfText(
198 '\u05d0\u05d0\u05d0\u05d0\u05d0').value, 205 'http://foo/bar/?s=\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u0 5d0'
206 '\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u0 5d0'
207 '\u05d0\u05d0\u05d0\u05d0\u05d0')
208 .value,
199 equals(TextDirection.LTR.value)); 209 equals(TextDirection.LTR.value));
200 expect(Bidi.estimateDirectionOfText('\u05d0', isHtml: false).value, 210 expect(Bidi.estimateDirectionOfText('\u05d0', isHtml: false).value,
201 equals(TextDirection.RTL.value)); 211 equals(TextDirection.RTL.value));
202 expect(Bidi.estimateDirectionOfText('9 \u05d0 -> 17.5, 23, 45, 19', 212 expect(
203 isHtml: false).value, equals(TextDirection.RTL.value)); 213 Bidi
204 expect(Bidi.estimateDirectionOfText( 214 .estimateDirectionOfText('9 \u05d0 -> 17.5, 23, 45, 19',
205 'http://foo/bar/ \u05d0 http://foo2/bar2/ http://foo3/bar3/').value, 215 isHtml: false)
216 .value,
206 equals(TextDirection.RTL.value)); 217 equals(TextDirection.RTL.value));
207 expect(Bidi.estimateDirectionOfText( 218 expect(
208 '\u05d0\u05d9\u05df \u05de\u05de\u05e9 \u05de\u05d4 \u05dc\u05e8\u05d0' 219 Bidi
209 '\u05d5\u05ea: \u05dc\u05d0 \u05e6\u05d9\u05dc\u05de\u05ea\u05d9 \u05d4' 220 .estimateDirectionOfText(
210 '\u05e8\u05d1\u05d4 \u05d5\u05d2\u05dd \u05d0\u05dd \u05d4\u05d9\u05d9' 221 'http://foo/bar/ \u05d0 http://foo2/bar2/ http://foo3/bar3/')
211 '\u05ea\u05d9 \u05de\u05e6\u05dc\u05dd, \u05d4\u05d9\u05d4 \u05e9' 222 .value,
212 '\u05dd').value, equals(TextDirection.RTL.value));
213 expect(Bidi.estimateDirectionOfText(
214 '\u05db\u05d0 - http://geek.co.il/gallery/v/2007-06 - \u05d0\u05d9'
215 '\u05df \u05de\u05de\u05e9 \u05de\u05d4 \u05dc\u05e8\u05d0\u05d5\u05ea:'
216 ' \u05dc\u05d0 \u05e6\u05d9\u05dc\u05de\u05ea\u05d9 \u05d4\u05e8\u05d1 '
217 '\u05d5\u05d2\u05dd \u05d0\u05dd \u05d4\u05d9\u05d9\u05d9 \u05de\u05e6'
218 '\u05dc\u05dd, \u05d4\u05d9\u05d4 \u05e9\u05dd \u05d1\u05e2\u05d9\u05e7'
219 ' \u05d4\u05e8\u05d1\u05d4 \u05d0\u05e0\u05e9\u05d9\u05dd. \u05de\u05d4'
220 ' \u05e9\u05db\u05df - \u05d0\u05e4\u05e9\u05e8 \u05dc\u05e0\u05e6'
221 '\u05dc \u05d0\u05ea \u05d4\u05d4 \u05d3\u05d6\u05de\u05e0\u05d5 '
222 '\u05dc\u05d4\u05e1\u05ea\u05db\u05dc \u05e2\u05dc \u05db\u05de\u05d4 '
223 '\u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05de\u05e9\u05e9\u05e2\u05d5'
224 '\u05ea \u05d9\u05e9\u05e0\u05d5 \u05d9\u05d5\u05ea\u05e8 \u05e9\u05d9'
225 '\u05e9 \u05dc\u05d9 \u05d1\u05d0\u05ea\u05e8',
226 isHtml: false).value, equals(TextDirection.RTL.value));
227 expect(Bidi.estimateDirectionOfText(
228 'CAPTCHA \u05de\u05e9\u05d5\u05db\u05dc\u05dc '
229 '\u05de\u05d3\u05d9?').value, equals(TextDirection.RTL.value));
230 expect(Bidi.estimateDirectionOfText(
231 'Yes Prime Minister \u05e2\u05d3\u05db\u05d5\u05df. \u05e9\u05d0\u05dc'
232 '\u05d5 \u05d0\u05d5\u05ea\u05d9 \u05de\u05d4 \u05d0\u05e0\u05d9 '
233 '\u05e8\u05d5\u05e6\u05d4 \u05de\u05ea\u05e0\u05d4 \u05dc\u05d7'
234 '\u05d2').value, equals(TextDirection.RTL.value));
235 expect(Bidi.estimateDirectionOfText(
236 '17.4.02 \u05e9\u05e2\u05d4:13-20 .15-00 .\u05dc\u05d0 \u05d4\u05d9'
237 '\u05d9\u05ea\u05d9 \u05db\u05d0\u05df.').value,
238 equals(TextDirection.RTL.value)); 223 equals(TextDirection.RTL.value));
239 expect(Bidi.estimateDirectionOfText( 224 expect(
240 '5710 5720 5730. \u05d4\u05d3\u05dc\u05ea. \u05d4\u05e0\u05e9\u05d9' 225 Bidi
241 '\u05e7\u05d4', isHtml: false).value, equals(TextDirection.RTL.value)); 226 .estimateDirectionOfText(
242 expect(Bidi.estimateDirectionOfText( 227 '\u05d0\u05d9\u05df \u05de\u05de\u05e9 \u05de\u05d4 \u05dc\u05e8 \u05d0'
243 '\u05d4\u05d3\u05dc\u05ea http://www.google.com ' 228 '\u05d5\u05ea: \u05dc\u05d0 \u05e6\u05d9\u05dc\u05de\u05ea\u05d9 \u05d4'
244 'http://www.gmail.com').value, equals(TextDirection.RTL.value)); 229 '\u05e8\u05d1\u05d4 \u05d5\u05d2\u05dd \u05d0\u05dd \u05d4\u05d9 \u05d9'
245 expect(Bidi.estimateDirectionOfText( 230 '\u05ea\u05d9 \u05de\u05e6\u05dc\u05dd, \u05d4\u05d9\u05d4 \u05e 9'
246 '\u05d4\u05d3\u05dc <some quite nasty html mark up>').value, 231 '\u05dd')
232 .value,
233 equals(TextDirection.RTL.value));
234 expect(
235 Bidi
236 .estimateDirectionOfText(
237 '\u05db\u05d0 - http://geek.co.il/gallery/v/2007-06 - \u05d0\u05 d9'
238 '\u05df \u05de\u05de\u05e9 \u05de\u05d4 \u05dc\u05e8\u05d0\u05d5 \u05ea:'
239 ' \u05dc\u05d0 \u05e6\u05d9\u05dc\u05de\u05ea\u05d9 \u05d4\u05e8 \u05d1 '
240 '\u05d5\u05d2\u05dd \u05d0\u05dd \u05d4\u05d9\u05d9\u05d9 \u05de \u05e6'
241 '\u05dc\u05dd, \u05d4\u05d9\u05d4 \u05e9\u05dd \u05d1\u05e2\u05d 9\u05e7'
242 ' \u05d4\u05e8\u05d1\u05d4 \u05d0\u05e0\u05e9\u05d9\u05dd. \u05d e\u05d4'
243 ' \u05e9\u05db\u05df - \u05d0\u05e4\u05e9\u05e8 \u05dc\u05e0\u05 e6'
244 '\u05dc \u05d0\u05ea \u05d4\u05d4 \u05d3\u05d6\u05de\u05e0\u05d5 '
245 '\u05dc\u05d4\u05e1\u05ea\u05db\u05dc \u05e2\u05dc \u05db\u05de\ u05d4 '
246 '\u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05de\u05e9\u05e9\u05e2\u 05d5'
247 '\u05ea \u05d9\u05e9\u05e0\u05d5 \u05d9\u05d5\u05ea\u05e8 \u05e9 \u05d9'
248 '\u05e9 \u05dc\u05d9 \u05d1\u05d0\u05ea\u05e8',
249 isHtml: false)
250 .value,
251 equals(TextDirection.RTL.value));
252 expect(
253 Bidi
254 .estimateDirectionOfText(
255 'CAPTCHA \u05de\u05e9\u05d5\u05db\u05dc\u05dc '
256 '\u05de\u05d3\u05d9?')
257 .value,
258 equals(TextDirection.RTL.value));
259 expect(
260 Bidi
261 .estimateDirectionOfText(
262 'Yes Prime Minister \u05e2\u05d3\u05db\u05d5\u05df. \u05e9\u05d0 \u05dc'
263 '\u05d5 \u05d0\u05d5\u05ea\u05d9 \u05de\u05d4 \u05d0\u05e0\u05d9 '
264 '\u05e8\u05d5\u05e6\u05d4 \u05de\u05ea\u05e0\u05d4 \u05dc\u05d7'
265 '\u05d2')
266 .value,
267 equals(TextDirection.RTL.value));
268 expect(
269 Bidi
270 .estimateDirectionOfText(
271 '17.4.02 \u05e9\u05e2\u05d4:13-20 .15-00 .\u05dc\u05d0 \u05d4\u0 5d9'
272 '\u05d9\u05ea\u05d9 \u05db\u05d0\u05df.')
273 .value,
274 equals(TextDirection.RTL.value));
275 expect(
276 Bidi
277 .estimateDirectionOfText(
278 '5710 5720 5730. \u05d4\u05d3\u05dc\u05ea. \u05d4\u05e0\u05e9\u0 5d9'
279 '\u05e7\u05d4',
280 isHtml: false)
281 .value,
282 equals(TextDirection.RTL.value));
283 expect(
284 Bidi
285 .estimateDirectionOfText(
286 '\u05d4\u05d3\u05dc\u05ea http://www.google.com '
287 'http://www.gmail.com')
288 .value,
289 equals(TextDirection.RTL.value));
290 expect(
291 Bidi
292 .estimateDirectionOfText(
293 '\u05d4\u05d3\u05dc <some quite nasty html mark up>')
294 .value,
247 equals(TextDirection.LTR.value)); 295 equals(TextDirection.LTR.value));
248 expect(Bidi.estimateDirectionOfText( 296 expect(
249 '\u05d4\u05d3\u05dc <some quite nasty html mark up>').value, 297 Bidi
298 .estimateDirectionOfText(
299 '\u05d4\u05d3\u05dc <some quite nasty html mark up>')
300 .value,
250 equals(TextDirection.LTR.value)); 301 equals(TextDirection.LTR.value));
251 expect(Bidi.estimateDirectionOfText( 302 expect(
252 '\u05d4\u05d3\u05dc\u05ea &amp; &lt; &gt;').value, 303 Bidi
304 .estimateDirectionOfText('\u05d4\u05d3\u05dc\u05ea &amp; &lt; &gt;')
305 .value,
253 equals(TextDirection.LTR.value)); 306 equals(TextDirection.LTR.value));
254 expect(Bidi.estimateDirectionOfText( 307 expect(
255 '\u05d4\u05d3\u05dc\u05ea &amp; &lt; &gt;', isHtml: true).value, 308 Bidi
309 .estimateDirectionOfText('\u05d4\u05d3\u05dc\u05ea &amp; &lt; &gt;',
310 isHtml: true)
311 .value,
256 equals(TextDirection.RTL.value)); 312 equals(TextDirection.RTL.value));
257 }); 313 });
258 314
259 test('detectRtlDirectionality', () { 315 test('detectRtlDirectionality', () {
260 var bidiText = []; 316 var bidiText = [];
261 var item = new SampleItem('Pure Ascii content'); 317 var item = new SampleItem('Pure Ascii content');
262 bidiText.add(item); 318 bidiText.add(item);
263 319
264 item = new SampleItem('\u05d0\u05d9\u05df \u05de\u05de\u05e9 \u05de\u05d4' 320 item = new SampleItem(
321 '\u05d0\u05d9\u05df \u05de\u05de\u05e9 \u05de\u05d4'
265 ' \u05dc\u05e8\u05d0\u05d5\u05ea: \u05dc\u05d0 \u05e6\u05d9\u05dc' 322 ' \u05dc\u05e8\u05d0\u05d5\u05ea: \u05dc\u05d0 \u05e6\u05d9\u05dc'
266 '\u05de\u05ea\u05d9 \u05d4\u05e8\u05d1\u05d4 \u05d5\u05d2\u05dd ' 323 '\u05de\u05ea\u05d9 \u05d4\u05e8\u05d1\u05d4 \u05d5\u05d2\u05dd '
267 '\u05d0\u05dd \u05d4\u05d9\u05d9\u05ea\u05d9 \u05de\u05e6\u05dc\u05dd, ' 324 '\u05d0\u05dd \u05d4\u05d9\u05d9\u05ea\u05d9 \u05de\u05e6\u05dc\u05dd, '
268 '\u05d4\u05d9\u05d4 \u05e9\u05dd', true); 325 '\u05d4\u05d9\u05d4 \u05e9\u05dd',
326 true);
269 bidiText.add(item); 327 bidiText.add(item);
270 328
271 item = new SampleItem('\u05db\u05d0\u05df - http://geek.co.il/gallery/v/' 329 item = new SampleItem(
330 '\u05db\u05d0\u05df - http://geek.co.il/gallery/v/'
272 '2007-06 - \u05d0\u05d9\u05df \u05de\u05de\u05e9 \u05de\u05d4 \u05dc' 331 '2007-06 - \u05d0\u05d9\u05df \u05de\u05de\u05e9 \u05de\u05d4 \u05dc'
273 '\u05e8\u05d0\u05d5\u05ea: \u05dc\u05d0 \u05e6\u05d9\u05dc\u05de\u05ea' 332 '\u05e8\u05d0\u05d5\u05ea: \u05dc\u05d0 \u05e6\u05d9\u05dc\u05de\u05ea'
274 '\u05d9 \u05d4\u05e8\u05d1\u05d4 \u05d5\u05d2\u05dd \u05d0\u05dd \u05d4' 333 '\u05d9 \u05d4\u05e8\u05d1\u05d4 \u05d5\u05d2\u05dd \u05d0\u05dd \u05d4'
275 '\u05d9\u05d9\u05ea\u05d9 \u05de\u05e6\u05dc\u05dd, \u05d4\u05d9\u05d4 ' 334 '\u05d9\u05d9\u05ea\u05d9 \u05de\u05e6\u05dc\u05dd, \u05d4\u05d9\u05d4 '
276 '\u05e9\u05dd \u05d1\u05e2\u05d9\u05e7\u05e8 \u05d4\u05e8\u05d1\u05d4 ' 335 '\u05e9\u05dd \u05d1\u05e2\u05d9\u05e7\u05e8 \u05d4\u05e8\u05d1\u05d4 '
277 '\u05d0\u05e0\u05e9\u05d9\u05dd. \u05de\u05d4 \u05e9\u05db\u05df - ' 336 '\u05d0\u05e0\u05e9\u05d9\u05dd. \u05de\u05d4 \u05e9\u05db\u05df - '
278 '\u05d0\u05e4\u05e9\u05e8 \u05dc\u05e0\u05e6\u05dc \u05d0\u05ea \u05d4' 337 '\u05d0\u05e4\u05e9\u05e8 \u05dc\u05e0\u05e6\u05dc \u05d0\u05ea \u05d4'
279 '\u05d4\u05d3\u05d6\u05de\u05e0\u05d5\u05ea \u05dc\u05d4\u05e1\u05ea' 338 '\u05d4\u05d3\u05d6\u05de\u05e0\u05d5\u05ea \u05dc\u05d4\u05e1\u05ea'
280 '\u05db\u05dc \u05e2\u05dc \u05db\u05de\u05d4 \u05ea\u05de\u05d5\u05e0' 339 '\u05db\u05dc \u05e2\u05dc \u05db\u05de\u05d4 \u05ea\u05de\u05d5\u05e0'
281 '\u05d5\u05ea \u05de\u05e9\u05e2\u05e9\u05e2\u05d5\u05ea \u05d9\u05e9' 340 '\u05d5\u05ea \u05de\u05e9\u05e2\u05e9\u05e2\u05d5\u05ea \u05d9\u05e9'
282 '\u05e0\u05d5\u05ea \u05d9\u05d5\u05ea\u05e8 \u05e9\u05d9\u05e9 \u05dc' 341 '\u05e0\u05d5\u05ea \u05d9\u05d5\u05ea\u05e8 \u05e9\u05d9\u05e9 \u05dc'
283 '\u05d9 \u05d1\u05d0\u05ea\u05e8', true); 342 '\u05d9 \u05d1\u05d0\u05ea\u05e8',
343 true);
284 bidiText.add(item); 344 bidiText.add(item);
285 345
286 item = new SampleItem('CAPTCHA \u05de\u05e9\u05d5\u05db\u05dc\u05dc ' 346 item = new SampleItem(
287 '\u05de\u05d3\u05d9?', true); 347 'CAPTCHA \u05de\u05e9\u05d5\u05db\u05dc\u05dc '
348 '\u05de\u05d3\u05d9?',
349 true);
288 bidiText.add(item); 350 bidiText.add(item);
289 351
290 item = new SampleItem('Yes Prime Minister \u05e2\u05d3\u05db\u05d5\u05df. ' 352 item = new SampleItem(
353 'Yes Prime Minister \u05e2\u05d3\u05db\u05d5\u05df. '
291 '\u05e9\u05d0\u05dc\u05d5 \u05d0\u05d5\u05ea\u05d9 \u05de\u05d4 \u05d0' 354 '\u05e9\u05d0\u05dc\u05d5 \u05d0\u05d5\u05ea\u05d9 \u05de\u05d4 \u05d0'
292 '\u05e0\u05d9 \u05e8\u05d5\u05e6\u05d4 \u05de\u05ea\u05e0\u05d4 ' 355 '\u05e0\u05d9 \u05e8\u05d5\u05e6\u05d4 \u05de\u05ea\u05e0\u05d4 '
293 '\u05dc\u05d7\u05d2', true); 356 '\u05dc\u05d7\u05d2',
357 true);
294 bidiText.add(item); 358 bidiText.add(item);
295 359
296 item = new SampleItem('17.4.02 \u05e9\u05e2\u05d4:13-20 .15-00 .\u05dc' 360 item = new SampleItem(
297 '\u05d0 \u05d4\u05d9\u05d9\u05ea\u05d9 \u05db\u05d0\u05df.', true); 361 '17.4.02 \u05e9\u05e2\u05d4:13-20 .15-00 .\u05dc'
362 '\u05d0 \u05d4\u05d9\u05d9\u05ea\u05d9 \u05db\u05d0\u05df.',
363 true);
298 bidiText.add(item); 364 bidiText.add(item);
299 365
300 item = new SampleItem('5710 5720 5730. \u05d4\u05d3\u05dc\u05ea. \u05d4' 366 item = new SampleItem(
301 '\u05e0\u05e9\u05d9\u05e7\u05d4', true); 367 '5710 5720 5730. \u05d4\u05d3\u05dc\u05ea. \u05d4'
368 '\u05e0\u05e9\u05d9\u05e7\u05d4',
369 true);
302 bidiText.add(item); 370 bidiText.add(item);
303 371
304 item = new SampleItem('\u05d4\u05d3\u05dc\u05ea http://www.google.com ' 372 item = new SampleItem(
305 'http://www.gmail.com', true); 373 '\u05d4\u05d3\u05dc\u05ea http://www.google.com '
374 'http://www.gmail.com',
375 true);
306 bidiText.add(item); 376 bidiText.add(item);
307 377
308 item = new SampleItem('&gt;\u05d4&lt;', true, true); 378 item = new SampleItem('&gt;\u05d4&lt;', true, true);
309 bidiText.add(item); 379 bidiText.add(item);
310 380
311 item = new SampleItem('&gt;\u05d4&lt;', false); 381 item = new SampleItem('&gt;\u05d4&lt;', false);
312 bidiText.add(item); 382 bidiText.add(item);
313 383
314 for (var i = 0; i < bidiText.length; i++) { 384 for (var i = 0; i < bidiText.length; i++) {
315 var isRtlDir = Bidi.detectRtlDirectionality(bidiText[i].text, 385 var isRtlDir = Bidi.detectRtlDirectionality(bidiText[i].text,
316 isHtml: bidiText[i].isHtml); 386 isHtml: bidiText[i].isHtml);
387
317 if (isRtlDir != bidiText[i].isRtl) { 388 if (isRtlDir != bidiText[i].isRtl) {
318 var str = '"${bidiText[i].text} " should be ' 389 var str = '"${bidiText[i].text} " should be '
319 '${bidiText[i].isRtl ? "rtl" : "ltr"} but detected as ' 390 '${bidiText[i].isRtl ? "rtl" : "ltr"} but detected as '
320 '${isRtlDir ? "rtl" : "ltr"}'; 391 '${isRtlDir ? "rtl" : "ltr"}';
321 //alert(str); 392 fail(str);
322 } 393 }
323 expect(bidiText[i].isRtl, isRtlDir);
324 } 394 }
325 }); 395 });
326 } 396 }
327 397
328 class SampleItem { 398 class SampleItem {
329 String text; 399 String text;
330 bool isRtl; 400 bool isRtl;
331 bool isHtml; 401 bool isHtml;
332 SampleItem([someText = '', someIsRtl = false, isHtml = false]) 402 SampleItem([someText = '', someIsRtl = false, isHtml = false])
333 : this.text = someText, 403 : this.text = someText,
334 this.isRtl = someIsRtl, 404 this.isRtl = someIsRtl,
335 this.isHtml = isHtml; 405 this.isHtml = isHtml;
336 } 406 }
OLDNEW
« no previous file with comments | « packages/intl/test/bidi_format_test.dart ('k') | packages/intl/test/compact_number_test_data.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698