OLD | NEW |
1 // Copyright 2008 the V8 project authors. All rights reserved. | 1 // Copyright 2008 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 9116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9127 last_c = c.charCodeAt(0); | 9127 last_c = c.charCodeAt(0); |
9128 } | 9128 } |
9129 } | 9129 } |
9130 } | 9130 } |
9131 re += "]+)"; | 9131 re += "]+)"; |
9132 var char_class = new RegExp(re, "g"); | 9132 var char_class = new RegExp(re, "g"); |
9133 var munged = text.replace(char_class, "foo"); | 9133 var munged = text.replace(char_class, "foo"); |
9134 assertEquals(munged_sizes[i - 1], munged.length, "munged size " + i); | 9134 assertEquals(munged_sizes[i - 1], munged.length, "munged size " + i); |
9135 } | 9135 } |
9136 | 9136 |
| 9137 |
| 9138 function hex(x) { |
| 9139 x &= 15; |
| 9140 if (x < 10) { |
| 9141 return String.fromCharCode(x + 48); |
| 9142 } else { |
| 9143 return String.fromCharCode(x + 97 - 10); |
| 9144 } |
| 9145 } |
| 9146 |
| 9147 |
| 9148 function dump_re(re) { |
| 9149 var out = ""; |
| 9150 for (var i = 0; i < re.length; i++) { |
| 9151 var c = re.charCodeAt(i); |
| 9152 if (c >= 32 && c <= 126) { |
| 9153 out += re[i]; |
| 9154 } else if (c < 256) { |
| 9155 out += "\\x" + hex(c >> 4) + hex(c); |
| 9156 } else { |
| 9157 out += "\\u" + hex(c >> 12) + hex(c >> 8) + hex(c >> 4) + hex(c); |
| 9158 } |
| 9159 } |
| 9160 print ("re = " + out); |
| 9161 } |
| 9162 |
9137 var thai_l_thingy = "\u0e44"; | 9163 var thai_l_thingy = "\u0e44"; |
9138 var thai_l_regexp = new RegExp(thai_l_thingy); | 9164 var thai_l_regexp = new RegExp(thai_l_thingy); |
9139 var thai_l_regexp2 = new RegExp("[" + thai_l_thingy + "]"); | 9165 var thai_l_regexp2 = new RegExp("[" + thai_l_thingy + "]"); |
9140 assertTrue(thai_l_regexp.test(thai_l_thingy)); | 9166 assertTrue(thai_l_regexp.test(thai_l_thingy)); |
9141 assertTrue(thai_l_regexp2.test(thai_l_thingy)); | 9167 assertTrue(thai_l_regexp2.test(thai_l_thingy)); |
9142 | 9168 |
9143 | 9169 |
OLD | NEW |