@@ -13,6 +13,35 @@ fs.writeFileSync(path.resolve(templateDir, 'foo.js'), 'foo(<%- options.n %>)')
1313mkdirp . sync ( path . resolve ( templateDir , 'bar' ) )
1414fs . writeFileSync ( path . resolve ( templateDir , 'bar/bar.js' ) , 'bar(<%- m %>)' )
1515
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+
1645test ( 'api: extendPackage' , async ( ) => {
1746 const generator = new Generator ( '/' , {
1847 name : 'hello' ,
@@ -178,6 +207,8 @@ test('api: render fs directory', async () => {
178207
179208 expect ( fs . readFileSync ( '/foo.js' , 'utf-8' ) ) . toMatch ( 'foo(1)' )
180209 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)' )
181212} )
182213
183214test ( 'api: render object' , async ( ) => {
0 commit comments