@@ -27,29 +27,6 @@ unit.add(module, [
2727 result = re . replace ( 'John Smith' , '$2, $1' ) ;
2828 eval ( t . TEST ( "result === 'Smith, John'" ) ) ;
2929 } ,
30- function test_replaceGroupCases ( t ) {
31- 'use strict' ;
32-
33- var re = new RE2 ( / ( t e s t ) / g) ;
34- var result = re . replace ( '123' , '$1$20' ) ;
35- eval ( t . TEST ( "result === '123'" ) ) ;
36-
37- re = new RE2 ( / ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) / g) ;
38- result = re . replace ( 'abcdefghijklmnopqrstuvwxyz123' , '$10$20' ) ;
39- eval ( t . TEST ( "result === 'jb0wo0123'" ) ) ;
40-
41- re = new RE2 ( / ( .) ( .) ( .) ( .) ( .) / g) ;
42- result = re . replace ( 'abcdefghijklmnopqrstuvwxyz123' , '$10$20' ) ;
43- eval ( t . TEST ( "result === 'a0b0f0g0k0l0p0q0u0v0z123'" ) ) ;
44-
45- re = new RE2 ( / ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) / g) ;
46- result = re . replace ( 'abcdefghijklmnopqrstuvwxyz123' , '$10$20' ) ;
47- eval ( t . TEST ( "result === 'jtvwxyz123'" ) ) ;
48-
49- re = new RE2 ( / a b c d / g) ;
50- result = re . replace ( 'abcd123' , '$1$2' ) ;
51- eval ( t . TEST ( "result === '$1$2123'" ) ) ;
52- } ,
5330 function test_replaceFunReplacer ( t ) {
5431 'use strict' ;
5532
@@ -357,5 +334,47 @@ unit.add(module, [
357334 var re = new RE2 ( / b (?< a > 1 ) ? & (?< b > 2 ) ? y / ) ;
358335 var result = re . replace ( 'ab & yz' , replacer ) ;
359336 eval ( t . TEST ( "result === 'az'" ) ) ;
337+ } ,
338+ function test_replaceGroupSimple ( t ) {
339+ 'use strict' ;
340+
341+ var re = new RE2 ( / ( 2 ) / ) ;
342+
343+ var result = re . replace ( '123' , '$0' ) ;
344+ eval ( t . TEST ( "result === '1$03'" ) ) ;
345+ result = re . replace ( '123' , '$1' ) ;
346+ eval ( t . TEST ( "result === '123'" ) ) ;
347+ result = re . replace ( '123' , '$2' ) ;
348+ eval ( t . TEST ( "result === '1$23'" ) ) ;
349+
350+ result = re . replace ( '123' , '$00' ) ;
351+ eval ( t . TEST ( "result === '1$003'" ) ) ;
352+ result = re . replace ( '123' , '$01' ) ;
353+ eval ( t . TEST ( "result === '123'" ) ) ;
354+ result = re . replace ( '123' , '$02' ) ;
355+ eval ( t . TEST ( "result === '1$023'" ) ) ;
356+ } ,
357+ function test_replaceGroupCases ( t ) {
358+ 'use strict' ;
359+
360+ var re = new RE2 ( / ( t e s t ) / g) ;
361+ var result = re . replace ( '123' , '$1$20' ) ;
362+ eval ( t . TEST ( "result === '123'" ) ) ;
363+
364+ re = new RE2 ( / ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) / g) ;
365+ result = re . replace ( 'abcdefghijklmnopqrstuvwxyz123' , '$10$20' ) ;
366+ eval ( t . TEST ( "result === 'jb0wo0123'" ) ) ;
367+
368+ re = new RE2 ( / ( .) ( .) ( .) ( .) ( .) / g) ;
369+ result = re . replace ( 'abcdefghijklmnopqrstuvwxyz123' , '$10$20' ) ;
370+ eval ( t . TEST ( "result === 'a0b0f0g0k0l0p0q0u0v0z123'" ) ) ;
371+
372+ re = new RE2 ( / ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) ( .) / g) ;
373+ result = re . replace ( 'abcdefghijklmnopqrstuvwxyz123' , '$10$20' ) ;
374+ eval ( t . TEST ( "result === 'jtvwxyz123'" ) ) ;
375+
376+ re = new RE2 ( / a b c d / g) ;
377+ result = re . replace ( 'abcd123' , '$1$2' ) ;
378+ eval ( t . TEST ( "result === '$1$2123'" ) ) ;
360379 }
361380] ) ;
0 commit comments