Skip to content

Commit 6cdf8a8

Browse files
improved tests
Co-authored-by: Michael Smith <owlstronaut@github.com>
1 parent 0fa0063 commit 6cdf8a8

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

workspaces/config/test/env-replace.js

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)