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

Side by Side Diff: test/mjsunit/cyrillic.js

Issue 385133: Fix bug 499 by splitting up long-running test to minimise the amount... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 years, 1 month 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 | « no previous file | test/mjsunit/mjsunit.status » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2009 the V8 project authors. All rights reserved. 1 // Copyright 2009 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 assertFalse(new RegExp(regex).test(SIGMA), 53 + name); 167 assertFalse(new RegExp(regex).test(SIGMA), 53 + name);
168 168
169 // JSC and Tracemonkey fail this one. 169 // JSC and Tracemonkey fail this one.
170 assertTrue(new RegExp(regex, "i").test(sigma), 54 + name); 170 assertTrue(new RegExp(regex, "i").test(sigma), 54 + name);
171 assertTrue(new RegExp(regex, "i").test(alternative_sigma), 55 + name); 171 assertTrue(new RegExp(regex, "i").test(alternative_sigma), 55 + name);
172 // JSC and Tracemonkey fail this one. 172 // JSC and Tracemonkey fail this one.
173 assertTrue(new RegExp(regex, "i").test(SIGMA), 56 + name); 173 assertTrue(new RegExp(regex, "i").test(SIGMA), 56 + name);
174 } 174 }
175 175
176 176
177 // Test all non-ASCII characters individually to ensure that our optimizations
178 // didn't break anything.
179 for (var i = 0x80; i <= 0xfffe; i++) {
180 var c = String.fromCharCode(i);
181 var c2 = String.fromCharCode(i + 1);
182 var re = new RegExp("[" + c + "-" + c2 + "]", "i");
183 assertTrue(re.test(c), 57);
184 }
185
186 for (var add_non_ascii_character_to_subject = 0; 177 for (var add_non_ascii_character_to_subject = 0;
187 add_non_ascii_character_to_subject < 2; 178 add_non_ascii_character_to_subject < 2;
188 add_non_ascii_character_to_subject++) { 179 add_non_ascii_character_to_subject++) {
189 var suffix = add_non_ascii_character_to_subject ? "\ufffe" : ""; 180 var suffix = add_non_ascii_character_to_subject ? "\ufffe" : "";
190 // A range that covers both ASCII and non-ASCII. 181 // A range that covers both ASCII and non-ASCII.
191 for (var i = 0; i < 2; i++) { 182 for (var i = 0; i < 2; i++) {
192 var full = (i != 0); 183 var full = (i != 0);
193 var mixed = full ? "[a-\uffff]" : "[a-" + cyrillic.LAST + "]"; 184 var mixed = full ? "[a-\uffff]" : "[a-" + cyrillic.LAST + "]";
194 var f = full ? "f" : "c"; 185 var f = full ? "f" : "c";
195 for (var j = 0; j < 2; j++) { 186 for (var j = 0; j < 2; j++) {
196 var ignore_case = (j == 0); 187 var ignore_case = (j == 0);
197 var flag = ignore_case ? "i" : ""; 188 var flag = ignore_case ? "i" : "";
198 var re = new RegExp(mixed, flag); 189 var re = new RegExp(mixed, flag);
199 assertEquals(ignore_case || (full && add_non_ascii_character_to_subject), 190 assertEquals(ignore_case || (full && add_non_ascii_character_to_subject),
200 re.test("A" + suffix), 191 re.test("A" + suffix),
201 58 + flag + f); 192 58 + flag + f);
202 assertTrue(re.test("a" + suffix), 59 + flag + f); 193 assertTrue(re.test("a" + suffix), 59 + flag + f);
203 assertTrue(re.test("~" + suffix), 60 + flag + f); 194 assertTrue(re.test("~" + suffix), 60 + flag + f);
204 assertTrue(re.test(cyrillic.MIDDLE), 61 + flag + f); 195 assertTrue(re.test(cyrillic.MIDDLE), 61 + flag + f);
205 assertEquals(ignore_case || full, re.test(cyrillic.middle), 62 + flag + f) ; 196 assertEquals(ignore_case || full, re.test(cyrillic.middle), 62 + flag + f) ;
206 } 197 }
207 } 198 }
208 } 199 }
OLDNEW
« no previous file with comments | « no previous file | test/mjsunit/mjsunit.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698