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

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

Issue 11200003: Change bidi_utils and bidi_formatter for new optional parameters. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « pkg/intl/test/bidi_format_test.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 5
6 #library('bidi_utils_test'); 6 #library('bidi_utils_test');
7 7
8 #import('../lib/intl.dart'); 8 #import('../lib/intl.dart');
9 #import('../../../pkg/unittest/unittest.dart'); 9 #import('../../../pkg/unittest/unittest.dart');
10 10
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 }); 178 });
179 179
180 test('normalizeHebrewQuote', () { 180 test('normalizeHebrewQuote', () {
181 expect(Bidi.normalizeHebrewQuote('\u05d0"'), equals('\u05d0\u05f4')); 181 expect(Bidi.normalizeHebrewQuote('\u05d0"'), equals('\u05d0\u05f4'));
182 expect(Bidi.normalizeHebrewQuote('\u05d0\''), equals('\u05d0\u05f3')); 182 expect(Bidi.normalizeHebrewQuote('\u05d0\''), equals('\u05d0\u05f3'));
183 expect(Bidi.normalizeHebrewQuote('\u05d0"\u05d0\''), 183 expect(Bidi.normalizeHebrewQuote('\u05d0"\u05d0\''),
184 equals('\u05d0\u05f4\u05d0\u05f3')); 184 equals('\u05d0\u05f4\u05d0\u05f3'));
185 }); 185 });
186 186
187 test('estimateDirectionOfText', () { 187 test('estimateDirectionOfText', () {
188 expect(Bidi.estimateDirectionOfText('', false).value, 188 expect(Bidi.estimateDirectionOfText('', isHtml: false).value,
189 equals(TextDirection.UNKNOWN.value)); 189 equals(TextDirection.UNKNOWN.value));
190 expect(Bidi.estimateDirectionOfText(' ', false).value, 190 expect(Bidi.estimateDirectionOfText(' ', isHtml: false).value,
191 equals(TextDirection.UNKNOWN.value)); 191 equals(TextDirection.UNKNOWN.value));
192 expect(Bidi.estimateDirectionOfText('! (...)', false).value, 192 expect(Bidi.estimateDirectionOfText('! (...)', isHtml: false).value,
193 equals(TextDirection.UNKNOWN.value)); 193 equals(TextDirection.UNKNOWN.value));
194 expect(Bidi.estimateDirectionOfText('All-Ascii content', false).value, 194 expect(Bidi.estimateDirectionOfText('All-Ascii content',
195 isHtml: false).value,
195 equals(TextDirection.LTR.value)); 196 equals(TextDirection.LTR.value));
196 expect(Bidi.estimateDirectionOfText('-17.0%', false).value, 197 expect(Bidi.estimateDirectionOfText('-17.0%', isHtml: false).value,
197 equals(TextDirection.LTR.value)); 198 equals(TextDirection.LTR.value));
198 expect(Bidi.estimateDirectionOfText('http://foo/bar/', false).value, 199 expect(Bidi.estimateDirectionOfText('http://foo/bar/', isHtml: false).value,
199 equals(TextDirection.LTR.value)); 200 equals(TextDirection.LTR.value));
200 expect(Bidi.estimateDirectionOfText( 201 expect(Bidi.estimateDirectionOfText(
201 'http://foo/bar/?s=\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0' 202 'http://foo/bar/?s=\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0'
202 '\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0' 203 '\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0\u05d0'
203 '\u05d0\u05d0\u05d0\u05d0\u05d0').value, 204 '\u05d0\u05d0\u05d0\u05d0\u05d0').value,
204 equals(TextDirection.LTR.value)); 205 equals(TextDirection.LTR.value));
205 expect(Bidi.estimateDirectionOfText('\u05d0', false).value, 206 expect(Bidi.estimateDirectionOfText('\u05d0', isHtml: false).value,
206 equals(TextDirection.RTL.value)); 207 equals(TextDirection.RTL.value));
207 expect(Bidi.estimateDirectionOfText( 208 expect(Bidi.estimateDirectionOfText(
208 '9 \u05d0 -> 17.5, 23, 45, 19', false).value, 209 '9 \u05d0 -> 17.5, 23, 45, 19', isHtml: false).value,
209 equals(TextDirection.RTL.value)); 210 equals(TextDirection.RTL.value));
210 expect(Bidi.estimateDirectionOfText( 211 expect(Bidi.estimateDirectionOfText(
211 'http://foo/bar/ \u05d0 http://foo2/bar2/ http://foo3/bar3/').value, 212 'http://foo/bar/ \u05d0 http://foo2/bar2/ http://foo3/bar3/').value,
212 equals(TextDirection.RTL.value)); 213 equals(TextDirection.RTL.value));
213 expect(Bidi.estimateDirectionOfText( 214 expect(Bidi.estimateDirectionOfText(
214 '\u05d0\u05d9\u05df \u05de\u05de\u05e9 \u05de\u05d4 \u05dc\u05e8\u05d0' 215 '\u05d0\u05d9\u05df \u05de\u05de\u05e9 \u05de\u05d4 \u05dc\u05e8\u05d0'
215 '\u05d5\u05ea: \u05dc\u05d0 \u05e6\u05d9\u05dc\u05de\u05ea\u05d9 \u05d4' 216 '\u05d5\u05ea: \u05dc\u05d0 \u05e6\u05d9\u05dc\u05de\u05ea\u05d9 \u05d4'
216 '\u05e8\u05d1\u05d4 \u05d5\u05d2\u05dd \u05d0\u05dd \u05d4\u05d9\u05d9' 217 '\u05e8\u05d1\u05d4 \u05d5\u05d2\u05dd \u05d0\u05dd \u05d4\u05d9\u05d9'
217 '\u05ea\u05d9 \u05de\u05e6\u05dc\u05dd, \u05d4\u05d9\u05d4 \u05e9' 218 '\u05ea\u05d9 \u05de\u05e6\u05dc\u05dd, \u05d4\u05d9\u05d4 \u05e9'
218 '\u05dd').value, 219 '\u05dd').value,
219 equals(TextDirection.RTL.value)); 220 equals(TextDirection.RTL.value));
220 expect(Bidi.estimateDirectionOfText( 221 expect(Bidi.estimateDirectionOfText(
221 '\u05db\u05d0 - http://geek.co.il/gallery/v/2007-06 - \u05d0\u05d9' 222 '\u05db\u05d0 - http://geek.co.il/gallery/v/2007-06 - \u05d0\u05d9'
222 '\u05df \u05de\u05de\u05e9 \u05de\u05d4 \u05dc\u05e8\u05d0\u05d5\u05ea:' 223 '\u05df \u05de\u05de\u05e9 \u05de\u05d4 \u05dc\u05e8\u05d0\u05d5\u05ea:'
223 ' \u05dc\u05d0 \u05e6\u05d9\u05dc\u05de\u05ea\u05d9 \u05d4\u05e8\u05d1 ' 224 ' \u05dc\u05d0 \u05e6\u05d9\u05dc\u05de\u05ea\u05d9 \u05d4\u05e8\u05d1 '
224 '\u05d5\u05d2\u05dd \u05d0\u05dd \u05d4\u05d9\u05d9\u05d9 \u05de\u05e6' 225 '\u05d5\u05d2\u05dd \u05d0\u05dd \u05d4\u05d9\u05d9\u05d9 \u05de\u05e6'
225 '\u05dc\u05dd, \u05d4\u05d9\u05d4 \u05e9\u05dd \u05d1\u05e2\u05d9\u05e7' 226 '\u05dc\u05dd, \u05d4\u05d9\u05d4 \u05e9\u05dd \u05d1\u05e2\u05d9\u05e7'
226 ' \u05d4\u05e8\u05d1\u05d4 \u05d0\u05e0\u05e9\u05d9\u05dd. \u05de\u05d4' 227 ' \u05d4\u05e8\u05d1\u05d4 \u05d0\u05e0\u05e9\u05d9\u05dd. \u05de\u05d4'
227 ' \u05e9\u05db\u05df - \u05d0\u05e4\u05e9\u05e8 \u05dc\u05e0\u05e6' 228 ' \u05e9\u05db\u05df - \u05d0\u05e4\u05e9\u05e8 \u05dc\u05e0\u05e6'
228 '\u05dc \u05d0\u05ea \u05d4\u05d4 \u05d3\u05d6\u05de\u05e0\u05d5 ' 229 '\u05dc \u05d0\u05ea \u05d4\u05d4 \u05d3\u05d6\u05de\u05e0\u05d5 '
229 '\u05dc\u05d4\u05e1\u05ea\u05db\u05dc \u05e2\u05dc \u05db\u05de\u05d4 ' 230 '\u05dc\u05d4\u05e1\u05ea\u05db\u05dc \u05e2\u05dc \u05db\u05de\u05d4 '
230 '\u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05de\u05e9\u05e9\u05e2\u05d5' 231 '\u05ea\u05de\u05d5\u05e0\u05d5\u05ea \u05de\u05e9\u05e9\u05e2\u05d5'
231 '\u05ea \u05d9\u05e9\u05e0\u05d5 \u05d9\u05d5\u05ea\u05e8 \u05e9\u05d9' 232 '\u05ea \u05d9\u05e9\u05e0\u05d5 \u05d9\u05d5\u05ea\u05e8 \u05e9\u05d9'
232 '\u05e9 \u05dc\u05d9 \u05d1\u05d0\u05ea\u05e8', false).value, 233 '\u05e9 \u05dc\u05d9 \u05d1\u05d0\u05ea\u05e8', isHtml: false).value,
233 equals(TextDirection.RTL.value)); 234 equals(TextDirection.RTL.value));
234 expect(Bidi.estimateDirectionOfText( 235 expect(Bidi.estimateDirectionOfText(
235 'CAPTCHA \u05de\u05e9\u05d5\u05db\u05dc\u05dc ' 236 'CAPTCHA \u05de\u05e9\u05d5\u05db\u05dc\u05dc '
236 '\u05de\u05d3\u05d9?').value, 237 '\u05de\u05d3\u05d9?').value,
237 equals(TextDirection.RTL.value)); 238 equals(TextDirection.RTL.value));
238 expect(Bidi.estimateDirectionOfText( 239 expect(Bidi.estimateDirectionOfText(
239 'Yes Prime Minister \u05e2\u05d3\u05db\u05d5\u05df. \u05e9\u05d0\u05dc' 240 'Yes Prime Minister \u05e2\u05d3\u05db\u05d5\u05df. \u05e9\u05d0\u05dc'
240 '\u05d5 \u05d0\u05d5\u05ea\u05d9 \u05de\u05d4 \u05d0\u05e0\u05d9 ' 241 '\u05d5 \u05d0\u05d5\u05ea\u05d9 \u05de\u05d4 \u05d0\u05e0\u05d9 '
241 '\u05e8\u05d5\u05e6\u05d4 \u05de\u05ea\u05e0\u05d4 \u05dc\u05d7' 242 '\u05e8\u05d5\u05e6\u05d4 \u05de\u05ea\u05e0\u05d4 \u05dc\u05d7'
242 '\u05d2').value, 243 '\u05d2').value,
243 equals(TextDirection.RTL.value)); 244 equals(TextDirection.RTL.value));
244 expect(Bidi.estimateDirectionOfText( 245 expect(Bidi.estimateDirectionOfText(
245 '17.4.02 \u05e9\u05e2\u05d4:13-20 .15-00 .\u05dc\u05d0 \u05d4\u05d9' 246 '17.4.02 \u05e9\u05e2\u05d4:13-20 .15-00 .\u05dc\u05d0 \u05d4\u05d9'
246 '\u05d9\u05ea\u05d9 \u05db\u05d0\u05df.').value, 247 '\u05d9\u05ea\u05d9 \u05db\u05d0\u05df.').value,
247 equals(TextDirection.RTL.value)); 248 equals(TextDirection.RTL.value));
248 expect(Bidi.estimateDirectionOfText( 249 expect(Bidi.estimateDirectionOfText(
249 '5710 5720 5730. \u05d4\u05d3\u05dc\u05ea. \u05d4\u05e0\u05e9\u05d9' 250 '5710 5720 5730. \u05d4\u05d3\u05dc\u05ea. \u05d4\u05e0\u05e9\u05d9'
250 '\u05e7\u05d4', false).value, 251 '\u05e7\u05d4', isHtml: false).value,
251 equals(TextDirection.RTL.value)); 252 equals(TextDirection.RTL.value));
252 expect(Bidi.estimateDirectionOfText( 253 expect(Bidi.estimateDirectionOfText(
253 '\u05d4\u05d3\u05dc\u05ea http://www.google.com ' 254 '\u05d4\u05d3\u05dc\u05ea http://www.google.com '
254 'http://www.gmail.com').value, 255 'http://www.gmail.com').value,
255 equals(TextDirection.RTL.value)); 256 equals(TextDirection.RTL.value));
256 expect(Bidi.estimateDirectionOfText( 257 expect(Bidi.estimateDirectionOfText(
257 '\u05d4\u05d3\u05dc <some quite nasty html mark up>').value, 258 '\u05d4\u05d3\u05dc <some quite nasty html mark up>').value,
258 equals(TextDirection.LTR.value)); 259 equals(TextDirection.LTR.value));
259 expect(Bidi.estimateDirectionOfText( 260 expect(Bidi.estimateDirectionOfText(
260 '\u05d4\u05d3\u05dc <some quite nasty html mark up>').value, 261 '\u05d4\u05d3\u05dc <some quite nasty html mark up>').value,
261 equals(TextDirection.LTR.value)); 262 equals(TextDirection.LTR.value));
262 expect(Bidi.estimateDirectionOfText( 263 expect(Bidi.estimateDirectionOfText(
263 '\u05d4\u05d3\u05dc\u05ea &amp; &lt; &gt;').value, 264 '\u05d4\u05d3\u05dc\u05ea &amp; &lt; &gt;').value,
264 equals(TextDirection.LTR.value)); 265 equals(TextDirection.LTR.value));
265 expect(Bidi.estimateDirectionOfText( 266 expect(Bidi.estimateDirectionOfText(
266 '\u05d4\u05d3\u05dc\u05ea &amp; &lt; &gt;', true).value, 267 '\u05d4\u05d3\u05dc\u05ea &amp; &lt; &gt;', isHtml: true).value,
267 equals(TextDirection.RTL.value)); 268 equals(TextDirection.RTL.value));
268 }); 269 });
269 270
270 test('detectRtlDirectionality', () { 271 test('detectRtlDirectionality', () {
271 var bidiText = []; 272 var bidiText = [];
272 var item = new SampleItem('Pure Ascii content'); 273 var item = new SampleItem('Pure Ascii content');
273 bidiText.add(item); 274 bidiText.add(item);
274 275
275 item = new SampleItem('\u05d0\u05d9\u05df \u05de\u05de\u05e9 \u05de\u05d4' 276 item = new SampleItem('\u05d0\u05d9\u05df \u05de\u05de\u05e9 \u05de\u05d4'
276 ' \u05dc\u05e8\u05d0\u05d5\u05ea: \u05dc\u05d0 \u05e6\u05d9\u05dc' 277 ' \u05dc\u05e8\u05d0\u05d5\u05ea: \u05dc\u05d0 \u05e6\u05d9\u05dc'
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 bidiText.add(item); 319 bidiText.add(item);
319 320
320 item = new SampleItem('&gt;\u05d4&lt;', true, true); 321 item = new SampleItem('&gt;\u05d4&lt;', true, true);
321 bidiText.add(item); 322 bidiText.add(item);
322 323
323 item = new SampleItem('&gt;\u05d4&lt;', false); 324 item = new SampleItem('&gt;\u05d4&lt;', false);
324 bidiText.add(item); 325 bidiText.add(item);
325 326
326 for (var i = 0; i < bidiText.length; i++) { 327 for (var i = 0; i < bidiText.length; i++) {
327 var isRtlDir = Bidi.detectRtlDirectionality(bidiText[i].text, 328 var isRtlDir = Bidi.detectRtlDirectionality(bidiText[i].text,
328 bidiText[i].isHtml); 329 isHtml: bidiText[i].isHtml);
329 if (isRtlDir != bidiText[i].isRtl) { 330 if (isRtlDir != bidiText[i].isRtl) {
330 var str = '"${bidiText[i].text} " should be ' 331 var str = '"${bidiText[i].text} " should be '
331 '${bidiText[i].isRtl ? "rtl" : "ltr"} but detected as ' 332 '${bidiText[i].isRtl ? "rtl" : "ltr"} but detected as '
332 '${isRtlDir ? "rtl" : "ltr"}'; 333 '${isRtlDir ? "rtl" : "ltr"}';
333 //alert(str); 334 //alert(str);
334 } 335 }
335 expect(bidiText[i].isRtl, isRtlDir); 336 expect(bidiText[i].isRtl, isRtlDir);
336 } 337 }
337 }); 338 });
338 } 339 }
339 340
340 class SampleItem { 341 class SampleItem {
341 String text; 342 String text;
342 bool isRtl; 343 bool isRtl;
343 bool isHtml; 344 bool isHtml;
344 SampleItem([someText='', someIsRtl=false, isHtml=false]) : 345 SampleItem([someText='', someIsRtl=false, isHtml=false]) :
345 this.text=someText, this.isRtl=someIsRtl, this.isHtml=isHtml; 346 this.text=someText, this.isRtl=someIsRtl, this.isHtml=isHtml;
346 } 347 }
OLDNEW
« no previous file with comments | « pkg/intl/test/bidi_format_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698