@@ -6,14 +6,19 @@ const env = {
66 bar : 'baz' ,
77}
88
9- t . equal ( envReplace ( '\\${foo}' , env ) , '${foo}' )
10- t . equal ( envReplace ( '\\\\${foo}' , env ) , '\\bar' )
11- t . equal ( envReplace ( '\\\\\\${foo}' , env ) , '\\${foo}' )
12- t . equal ( envReplace ( '${baz}' , env ) , '${baz}' )
13- t . equal ( envReplace ( '\\${baz}' , env ) , '${baz}' )
14- t . equal ( envReplace ( '\\\\${baz}' , env ) , '\\${baz}' )
15- t . equal ( envReplace ( '\\${foo?}' , env ) , '${foo?}' )
16- t . equal ( envReplace ( '\\\\${foo?}' , env ) , '\\bar' )
17- t . equal ( envReplace ( '${baz?}' , env ) , '' )
18- t . equal ( envReplace ( '\\${baz?}' , env ) , '${baz?}' )
19- t . equal ( envReplace ( '\\\\${baz?}' , env ) , '\\' )
9+ t . equal ( envReplace ( '${foo}' , env ) , 'bar' , 'replaces defined variable' )
10+ t . equal ( envReplace ( '${foo?}' , env ) , 'bar' , 'replaces defined variable with ? modifier' )
11+ t . equal ( envReplace ( '${foo}${bar}' , env ) , 'barbaz' , 'replaces multiple defined variables' )
12+ t . equal ( envReplace ( '${foo?}${baz?}' , env ) , 'bar' , 'replaces mixed defined/undefined variables with ? modifier' )
13+ t . equal ( envReplace ( '\\${foo}' , env ) , '${foo}' , 'escapes normal variable' )
14+ t . equal ( envReplace ( '\\\\${foo}' , env ) , '\\bar' , 'double escape allows replacement' )
15+ t . equal ( envReplace ( '\\\\\\${foo}' , env ) , '\\${foo}' , 'triple escape prevents replacement' )
16+ t . equal ( envReplace ( '${baz}' , env ) , '${baz}' , 'leaves undefined variable unreplaced' )
17+ t . equal ( envReplace ( '\\${baz}' , env ) , '${baz}' , 'escapes undefined variable' )
18+ t . equal ( envReplace ( '\\\\${baz}' , env ) , '\\${baz}' , 'double escape with undefined variable' )
19+ t . equal ( envReplace ( '\\${foo?}' , env ) , '${foo?}' , 'escapes optional variable' )
20+ t . equal ( envReplace ( '\\\\${foo?}' , env ) , '\\bar' , 'double escape allows optional replacement' )
21+ t . equal ( envReplace ( '${baz?}' , env ) , '' , 'replaces undefined variable with empty string when using ? modifier' )
22+ t . equal ( envReplace ( '\\${baz?}' , env ) , '${baz?}' , 'escapes undefined optional variable' )
23+ t . equal ( envReplace ( '\\\\${baz?}' , env ) , '\\' , 'double escape with undefined optional variable results in empty replacement' )
24+
0 commit comments