File tree Expand file tree Collapse file tree 6 files changed +50
-23
lines changed Expand file tree Collapse file tree 6 files changed +50
-23
lines changed Original file line number Diff line number Diff line change @@ -120,7 +120,6 @@ page_title
120120 = '##'
121121 space ?
122122 title : content
123- break ?
124123 { return adjust (title); }
125124
126125/*** "pegjs/task.pegjs" ***/
@@ -228,14 +227,13 @@ action_open
228227
229228action_insert
230229 = 'insert'
231- content : between_brackets
232- { return ` insert(${ content} )` ; }
230+ content : ( between_code_block / between_brackets )
231+ { return ` insert(\" ${ content} \" )` ; }
233232
234233action_set
235234 = 'set'
236- content : between_brackets
237- // second: (between_code_block space? ')' space? )
238- { return ` set(${ content} )` ; }
235+ content : ( between_code_block / between_brackets )
236+ { return ` set(\" ${ content} \" )` ; }
239237
240238action_write
241239 = 'write'
@@ -292,12 +290,16 @@ between_brackets
292290 = '('
293291 content : [^\) ]+
294292 ')'
295- { return adjust (content); }
293+ { return trimQuotes ( adjust (content) ); }
296294
297295between_code_block
298- = code_block
296+ = '('
299297 break ?
300- content : [^\` ]+
301298 code_block
299+ break ?
300+ content : ( [^\` ]+ / '`' [^\` ]+ )+
301+ code_block
302+ break ?
303+ ')'
302304 { return adjust (content); }
303305
Original file line number Diff line number Diff line change @@ -24,11 +24,15 @@ between_brackets
2424 = '('
2525 content : [^\) ]+
2626 ')'
27- { return adjust (content); }
27+ { return trimQuotes ( adjust (content) ); }
2828
2929between_code_block
30- = code_block
30+ = '('
31+ break ?
32+ code_block
3133 break ?
32- content : [^\` ]+
34+ content : ( [^\` ]+ / '`' [^ \` ] + ) +
3335 code_block
36+ break ?
37+ ')'
3438 { return adjust (content); }
Original file line number Diff line number Diff line change @@ -25,5 +25,4 @@ page_title
2525 = '##'
2626 space ?
2727 title : content
28- break ?
2928 { return adjust (title); }
Original file line number Diff line number Diff line change @@ -28,14 +28,13 @@ action_open
2828
2929action_insert
3030 = 'insert'
31- content : between_brackets
32- { return ` insert(${ content} )` ; }
31+ content : ( between_code_block / between_brackets )
32+ { return ` insert(\" ${ content} \" )` ; }
3333
3434action_set
3535 = 'set'
36- content : between_brackets
37- // second: (between_code_block space? ')' space? )
38- { return ` set(${ content} )` ; }
36+ content : ( between_code_block / between_brackets )
37+ { return ` set(\" ${ content} \" )` ; }
3938
4039action_write
4140 = 'write'
Original file line number Diff line number Diff line change 1+ import test from 'ava' ;
2+ const parse = require ( '../_parser' ) ;
3+ const start = require ( './_setup' ) ;
4+
5+ test ( 'parses an action: insert (single-line)' , t => {
6+ const data = `${ start } @action(insert('var a = 42;'))
7+ ` ;
8+ const expected = [ "insert(\"var a = 42;\")" ] ;
9+ const result = parse ( data ) ;
10+ t . deepEqual ( result . pages [ 0 ] . tasks [ 0 ] . actions , expected ) ;
11+ } ) ;
12+
13+ test ( 'parses an action: insert (multi-line, ```)' , t => {
14+ const data = `${ start } @action(insert(\`\`\`
15+ var a = 42;
16+ var b = 43;
17+ \`\`\`
18+ ))
19+ ` ;
20+ const expected = [ "insert(\"var a = 42;\nvar b = 43;\")" ] ;
21+ const result = parse ( data ) ;
22+ t . deepEqual ( result . pages [ 0 ] . tasks [ 0 ] . actions , expected ) ;
23+ } ) ;
Original file line number Diff line number Diff line change @@ -5,19 +5,19 @@ const start = require('./_setup');
55test ( 'parses an action: set (single-line)' , t => {
66 const data = `${ start } @action(set('var a = 42;'))
77` ;
8- const expected = [ "set(\' var a = 42;\' )" ] ;
8+ const expected = [ "set(\" var a = 42;\" )" ] ;
99 const result = parse ( data ) ;
1010 t . deepEqual ( result . pages [ 0 ] . tasks [ 0 ] . actions , expected ) ;
1111} ) ;
1212
13- test . skip ( 'parses an action: set (multi-line, ```)' , t => {
14- const data = `${ start } @action(set(` ` `
13+ test ( 'parses an action: set (multi-line, ```)' , t => {
14+ const data = `${ start } @action(set(\`\`\ `
1515var a = 42;
1616var b = 43;
17- `` `
17+ \`\`\ `
1818))
1919` ;
20- const expected = [ "set(\' var a = 42;\nvar b = 43;\' )" ] ;
20+ const expected = [ "set(\" var a = 42;\nvar b = 43;\" )" ] ;
2121 const result = parse ( data ) ;
2222 t . deepEqual ( result . pages [ 0 ] . tasks [ 0 ] . actions , expected ) ;
2323} ) ;
You can’t perform that action at this time.
0 commit comments