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

Side by Side Diff: test/mjsunit/string-replace.js

Issue 93012: Push bleeding_edge r1758 and r1764 to trunk.... (Closed) Base URL: http://v8.googlecode.com/svn/trunk/
Patch Set: Created 11 years, 8 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 | « test/mjsunit/regress/regress-317.js ('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 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 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 replaceTest("[]axbxcx", short, /x()/, "[$1]"); 97 replaceTest("[]axbxcx", short, /x()/, "[$1]");
98 replaceTest("[$1]a[$1]b[$1]c[$1]", short, /x/g, "[$1]"); 98 replaceTest("[$1]a[$1]b[$1]c[$1]", short, /x/g, "[$1]");
99 replaceTest("[]a[]b[]c[]", short, /x()/g, "[$1]"); 99 replaceTest("[]a[]b[]c[]", short, /x()/g, "[$1]");
100 100
101 replaceTest("xax[$1]xcx", short, "b", "[$1]"); 101 replaceTest("xax[$1]xcx", short, "b", "[$1]");
102 replaceTest("xax[$1]xcx", short, /b/, "[$1]"); 102 replaceTest("xax[$1]xcx", short, /b/, "[$1]");
103 replaceTest("xax[]xcx", short, /b()/, "[$1]"); 103 replaceTest("xax[]xcx", short, /b()/, "[$1]");
104 replaceTest("xax[$1]xcx", short, /b/g, "[$1]"); 104 replaceTest("xax[$1]xcx", short, /b/g, "[$1]");
105 replaceTest("xax[]xcx", short, /b()/g, "[$1]"); 105 replaceTest("xax[]xcx", short, /b()/g, "[$1]");
106 106
107 // Bug 317 look-alikes. If "$e" has no meaning, the "$" must be retained.
108 replaceTest("xax$excx", short, "b", "$e");
109 replaceTest("xax$excx", short, /b/, "$e");
110 replaceTest("xax$excx", short, /b/g, "$e");
111
112 replaceTest("xaxe$xcx", short, "b", "e$");
113 replaceTest("xaxe$xcx", short, /b/, "e$");
114 replaceTest("xaxe$xcx", short, /b/g, "e$");
115
107 116
108 replaceTest("[$$$1$$a1abb1bb0$002$3$03][$$$1$$b1bcc1cc0$002$3$03]c", 117 replaceTest("[$$$1$$a1abb1bb0$002$3$03][$$$1$$b1bcc1cc0$002$3$03]c",
109 "abc", /(.)(?=(.))/g, "[$$$$$$1$$$$$11$01$2$21$02$020$002$3$03]"); 118 "abc", /(.)(?=(.))/g, "[$$$$$$1$$$$$11$01$2$21$02$020$002$3$03]");
110 119
111 // Replace with functions. 120 // Replace with functions.
112 121
113 122
114 var ctr = 0; 123 var ctr = 0;
115 replaceTest("0axbxcx", short, "x", function r(m, i, s) { 124 replaceTest("0axbxcx", short, "x", function r(m, i, s) {
116 assertEquals(3, arguments.length, "replace('x',func) func-args"); 125 assertEquals(3, arguments.length, "replace('x',func) func-args");
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 longstring = longstring + longstring; 173 longstring = longstring + longstring;
165 longstring = longstring + longstring; 174 longstring = longstring + longstring;
166 longstring = longstring + longstring; 175 longstring = longstring + longstring;
167 longstring = longstring + longstring; 176 longstring = longstring + longstring;
168 longstring = longstring + longstring; 177 longstring = longstring + longstring;
169 longstring = longstring + longstring; 178 longstring = longstring + longstring;
170 // longstring.length == 5 << 11 179 // longstring.length == 5 << 11
171 180
172 replaceTest(longstring + longstring, 181 replaceTest(longstring + longstring,
173 "<" + longstring + ">", /<(.*)>/g, "$1$1"); 182 "<" + longstring + ">", /<(.*)>/g, "$1$1");
OLDNEW
« no previous file with comments | « test/mjsunit/regress/regress-317.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698