@@ -55,18 +55,29 @@ describe("workflow syntax embedding grammars", () => {
5555 it ( "supports comments on github-script uses/script headers for quoted and unquoted uses" , ( ) => {
5656 const grammar = readJson < { patterns : [ GrammarRule ] } > ( "language/syntaxes/github-script-embedded.tmLanguage.json" ) ;
5757 const fixture = readFixture ( "src/workflow/syntax/fixtures/github-script-comments.yml" ) ;
58+ const outerBegin = new RegExp ( grammar . patterns [ 0 ] . begin ) ;
5859
5960 const result = analyzeSingleOuterEmbeddedBlockFixture ( fixture , grammar , "meta.embedded.block.javascript" , line =>
6061 / u s e s \s * : \s * [ " ' ] ? a c t i o n s \/ g i t h u b - s c r i p t \b / . test ( line )
6162 ) ;
6263 const lines = fixture . split ( / \r ? \n / ) ;
64+ const unquotedUsesLine = lines . find ( line => line . includes ( "uses: actions/github-script@v8" ) ) ;
65+ const quotedUsesLine = lines . find ( line => line . includes ( 'uses: "actions/github-script@v8"' ) ) ;
66+ const unquotedUsesMatch = unquotedUsesLine ? outerBegin . exec ( unquotedUsesLine ) : null ;
67+ const quotedUsesMatch = quotedUsesLine ? outerBegin . exec ( quotedUsesLine ) : null ;
6368
6469 expect ( result . outerStartLines ) . toHaveLength ( 2 ) ;
6570 expect ( result . embeddedHeaderLines ) . toHaveLength ( 2 ) ;
6671 expect ( lines [ result . outerStartLines [ 0 ] - 1 ] ) . toContain ( "uses: actions/github-script@v8" ) ;
6772 expect ( lines [ result . outerStartLines [ 0 ] - 1 ] ) . toContain ( "# unquoted uses comment" ) ;
6873 expect ( lines [ result . outerStartLines [ 1 ] - 1 ] ) . toContain ( 'uses: "actions/github-script@v8"' ) ;
6974 expect ( lines [ result . outerStartLines [ 1 ] - 1 ] ) . toContain ( "# quoted uses comment" ) ;
75+ expect ( unquotedUsesLine ) . toBeDefined ( ) ;
76+ expect ( quotedUsesLine ) . toBeDefined ( ) ;
77+ expect ( unquotedUsesMatch ) . not . toBeNull ( ) ;
78+ expect ( quotedUsesMatch ) . not . toBeNull ( ) ;
79+ expect ( unquotedUsesMatch ! [ 0 ] ) . toBe ( " - uses: actions/github-script@v8" ) ;
80+ expect ( quotedUsesMatch ! [ 0 ] ) . toBe ( ' - uses: "actions/github-script@v8"' ) ;
7081 expect ( lines [ result . embeddedHeaderLines [ 0 ] - 1 ] ) . toContain ( "# comment on script header (unquoted uses)" ) ;
7182 expect ( lines [ result . embeddedHeaderLines [ 1 ] - 1 ] ) . toContain ( "# comment on script header (quoted uses)" ) ;
7283
0 commit comments