@@ -13,6 +13,35 @@ fs.writeFileSync(path.resolve(templateDir, 'foo.js'), 'foo(<%- options.n %>)')
13
13
mkdirp . sync ( path . resolve ( templateDir , 'bar' ) )
14
14
fs . writeFileSync ( path . resolve ( templateDir , 'bar/bar.js' ) , 'bar(<%- m %>)' )
15
15
16
+ fs . writeFileSync ( path . resolve ( templateDir , 'replace.js' ) , `
17
+ ---
18
+ extend: '${ path . resolve ( templateDir , 'bar/bar.js' ) } '
19
+ replace: !!js/regexp /bar\\((.*)\\)/
20
+ ---
21
+ baz($1)
22
+ ` . trim ( ) )
23
+
24
+ fs . writeFileSync ( path . resolve ( templateDir , 'multi-replace-source.js' ) , `
25
+ foo(1)
26
+ bar(2)
27
+ ` . trim ( ) )
28
+
29
+ fs . writeFileSync ( path . resolve ( templateDir , 'multi-replace.js' ) , `
30
+ ---
31
+ extend: '${ path . resolve ( templateDir , 'multi-replace-source.js' ) } '
32
+ replace:
33
+ - !!js/regexp /foo\\((.*)\\)/
34
+ - !!js/regexp /bar\\((.*)\\)/
35
+ ---
36
+ <%# REPLACE %>
37
+ baz($1)
38
+ <%# END_REPLACE %>
39
+
40
+ <%# REPLACE %>
41
+ qux($1)
42
+ <%# END_REPLACE %>
43
+ ` . trim ( ) )
44
+
16
45
test ( 'api: extendPackage' , async ( ) => {
17
46
const generator = new Generator ( '/' , {
18
47
name : 'hello' ,
@@ -178,6 +207,8 @@ test('api: render fs directory', async () => {
178
207
179
208
expect ( fs . readFileSync ( '/foo.js' , 'utf-8' ) ) . toMatch ( 'foo(1)' )
180
209
expect ( fs . readFileSync ( '/bar/bar.js' , 'utf-8' ) ) . toMatch ( 'bar(2)' )
210
+ expect ( fs . readFileSync ( '/replace.js' , 'utf-8' ) ) . toMatch ( 'baz(2)' )
211
+ expect ( fs . readFileSync ( '/multi-replace.js' , 'utf-8' ) ) . toMatch ( 'baz(1)\nqux(2)' )
181
212
} )
182
213
183
214
test ( 'api: render object' , async ( ) => {
0 commit comments