@@ -603,20 +603,37 @@ describe "JavaScript grammar", ->
603603 describe "ES6 tagged HTML string templates" , - >
604604 it "tokenizes them as strings" , - >
605605 { tokens} = grammar . tokenizeLine ( 'html`hey <b>${name}</b>`' )
606- expect ( tokens [ 0 ] ) . toEqual value: 'html' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'entity.name.function.js' ]
607- expect ( tokens [ 1 ] ) . toEqual value: '`' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'punctuation.definition.string.begin.js' ]
606+ expect ( tokens [ 0 ] ) . toEqual value: 'html' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'entity.name.function.js' ]
607+ expect ( tokens [ 1 ] ) . toEqual value: '`' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'punctuation.definition.string.begin.js' ]
608608 expect ( tokens [ 2 ] ) . toEqual value: 'hey <b>' , scopes : [ 'source.js' , 'string.quoted.template.html.js' ]
609609 expect ( tokens [ 3 ] ) . toEqual value: '${' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'source.js.embedded.source' , 'punctuation.section.embedded.js' ]
610610 expect ( tokens [ 4 ] ) . toEqual value: 'name' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'source.js.embedded.source' ]
611611 expect ( tokens [ 5 ] ) . toEqual value: '}' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'source.js.embedded.source' , 'punctuation.section.embedded.js' ]
612612 expect ( tokens [ 6 ] ) . toEqual value: '</b>' , scopes : [ 'source.js' , 'string.quoted.template.html.js' ]
613613 expect ( tokens [ 7 ] ) . toEqual value: '`' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'punctuation.definition.string.end.js' ]
614614
615+ describe "innerHTML attribute declarations with string template tags" , - >
616+ it "tokenizes them as strings" , - >
617+ { tokens} = grammar . tokenizeLine ( 'text.innerHTML = `hey <b>${name}</b>`' )
618+ expect ( tokens [ 0 ] ) . toEqual value: 'text' , scopes : [ 'source.js' , 'variable.other.object.js' ]
619+ expect ( tokens [ 1 ] ) . toEqual value: '.' , scopes : [ 'source.js' , 'meta.delimiter.property.period.js' ]
620+ expect ( tokens [ 2 ] ) . toEqual value: 'innerHTML' , scopes : [ 'source.js' , 'variable.other.property.js' ]
621+ expect ( tokens [ 3 ] ) . toEqual value: ' ' , scopes : [ 'source.js' ]
622+ expect ( tokens [ 4 ] ) . toEqual value: '=' , scopes : [ 'source.js' , 'keyword.operator.assignment.js' ]
623+ expect ( tokens [ 5 ] ) . toEqual value: ' ' , scopes : [ 'source.js' ]
624+ expect ( tokens [ 6 ] ) . toEqual value: '`' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'punctuation.definition.string.begin.js' ]
625+ expect ( tokens [ 7 ] ) . toEqual value: 'hey <b>' , scopes : [ 'source.js' , 'string.quoted.template.html.js' ]
626+ expect ( tokens [ 8 ] ) . toEqual value: '${' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'source.js.embedded.source' , 'punctuation.section.embedded.js' ]
627+ expect ( tokens [ 9 ] ) . toEqual value: 'name' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'source.js.embedded.source' ]
628+ expect ( tokens [ 10 ] ) . toEqual value: '}' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'source.js.embedded.source' , 'punctuation.section.embedded.js' ]
629+ expect ( tokens [ 11 ] ) . toEqual value: '</b>' , scopes : [ 'source.js' , 'string.quoted.template.html.js' ]
630+ expect ( tokens [ 12 ] ) . toEqual value: '`' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'punctuation.definition.string.end.js' ]
631+
615632 describe "ES6 tagged HTML string templates with expanded function name" , - >
616633 it "tokenizes them as strings" , - >
617634 { tokens} = grammar . tokenizeLine ( 'escapeHTML`hey <b>${name}</b>`' )
618- expect ( tokens [ 0 ] ) . toEqual value: 'escapeHTML' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'entity.name.function.js' ]
619- expect ( tokens [ 1 ] ) . toEqual value: '`' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'punctuation.definition.string.begin.js' ]
635+ expect ( tokens [ 0 ] ) . toEqual value: 'escapeHTML' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'entity.name.function.js' ]
636+ expect ( tokens [ 1 ] ) . toEqual value: '`' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'punctuation.definition.string.begin.js' ]
620637 expect ( tokens [ 2 ] ) . toEqual value: 'hey <b>' , scopes : [ 'source.js' , 'string.quoted.template.html.js' ]
621638 expect ( tokens [ 3 ] ) . toEqual value: '${' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'source.js.embedded.source' , 'punctuation.section.embedded.js' ]
622639 expect ( tokens [ 4 ] ) . toEqual value: 'name' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'source.js.embedded.source' ]
@@ -627,9 +644,9 @@ describe "JavaScript grammar", ->
627644 describe "ES6 tagged HTML string templates with expanded function name and white space" , - >
628645 it "tokenizes them as strings" , - >
629646 { tokens} = grammar . tokenizeLine ( 'escapeHTML `hey <b>${name}</b>`' )
630- expect ( tokens [ 0 ] ) . toEqual value: 'escapeHTML' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'entity.name.function.js' ]
631- expect ( tokens [ 1 ] ) . toEqual value: ' ' , scopes : [ 'source.js' , 'string.quoted.template.html.js' ]
632- expect ( tokens [ 2 ] ) . toEqual value: '`' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'punctuation.definition.string.begin.js' ]
647+ expect ( tokens [ 0 ] ) . toEqual value: 'escapeHTML' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'entity.name.function.js' ]
648+ expect ( tokens [ 1 ] ) . toEqual value: ' ' , scopes : [ 'source.js' , 'string.quoted.template.html.js' ]
649+ expect ( tokens [ 2 ] ) . toEqual value: '`' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'punctuation.definition.string.begin.js' ]
633650 expect ( tokens [ 3 ] ) . toEqual value: 'hey <b>' , scopes : [ 'source.js' , 'string.quoted.template.html.js' ]
634651 expect ( tokens [ 4 ] ) . toEqual value: '${' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'source.js.embedded.source' , 'punctuation.section.embedded.js' ]
635652 expect ( tokens [ 5 ] ) . toEqual value: 'name' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'source.js.embedded.source' ]
@@ -640,16 +657,16 @@ describe "JavaScript grammar", ->
640657 describe "ES6 tagged Relay.QL string templates" , - >
641658 it "tokenizes them as strings" , - >
642659 { tokens} = grammar . tokenizeLine ( 'Relay.QL`fragment on Foo { id }`' )
643- expect ( tokens [ 0 ] ) . toEqual value: 'Relay.QL' , scopes : [ 'source.js' , 'string.quoted.template.graphql.js' , 'entity.name.function.js' ]
644- expect ( tokens [ 1 ] ) . toEqual value: '`' , scopes : [ 'source.js' , 'string.quoted.template.graphql.js' , 'punctuation.definition.string.begin.js' ]
660+ expect ( tokens [ 0 ] ) . toEqual value: 'Relay.QL' , scopes : [ 'source.js' , 'string.quoted.template.graphql.js' , 'entity.name.function.js' ]
661+ expect ( tokens [ 1 ] ) . toEqual value: '`' , scopes : [ 'source.js' , 'string.quoted.template.graphql.js' , 'punctuation.definition.string.begin.js' ]
645662 expect ( tokens [ 2 ] ) . toEqual value: 'fragment on Foo { id }' , scopes : [ 'source.js' , 'string.quoted.template.graphql.js' ]
646663 expect ( tokens [ 3 ] ) . toEqual value: '`' , scopes : [ 'source.js' , 'string.quoted.template.graphql.js' , 'punctuation.definition.string.end.js' ]
647664
648665 describe "ES6 tagged Relay.QL string templates with interpolation" , - >
649666 it "tokenizes them as strings" , - >
650667 { tokens} = grammar . tokenizeLine ( 'Relay.QL`fragment on Foo { ${myFragment} }`' )
651- expect ( tokens [ 0 ] ) . toEqual value: 'Relay.QL' , scopes : [ 'source.js' , 'string.quoted.template.graphql.js' , 'entity.name.function.js' ]
652- expect ( tokens [ 1 ] ) . toEqual value: '`' , scopes : [ 'source.js' , 'string.quoted.template.graphql.js' , 'punctuation.definition.string.begin.js' ]
668+ expect ( tokens [ 0 ] ) . toEqual value: 'Relay.QL' , scopes : [ 'source.js' , 'string.quoted.template.graphql.js' , 'entity.name.function.js' ]
669+ expect ( tokens [ 1 ] ) . toEqual value: '`' , scopes : [ 'source.js' , 'string.quoted.template.graphql.js' , 'punctuation.definition.string.begin.js' ]
653670 expect ( tokens [ 2 ] ) . toEqual value: 'fragment on Foo { ' , scopes : [ 'source.js' , 'string.quoted.template.graphql.js' ]
654671 expect ( tokens [ 3 ] ) . toEqual value: '${' , scopes : [ 'source.js' , 'string.quoted.template.graphql.js' , 'source.js.embedded.source' , 'punctuation.section.embedded.js' ]
655672 expect ( tokens [ 4 ] ) . toEqual value: 'myFragment' , scopes : [ 'source.js' , 'string.quoted.template.graphql.js' , 'source.js.embedded.source' ]
@@ -1657,7 +1674,7 @@ describe "JavaScript grammar", ->
16571674 expect(tokens[5]).toEqual value: 'x', scopes: ['source.js', 'meta.method-call.js', 'meta.arguments.js', scope]
16581675 expect(tokens[6]).toEqual value: delim, scopes: ['source.js', 'meta.method-call.js', 'meta.arguments.js', scope, 'punctuation.definition.string.end.js']
16591676 expect(tokens[8]).toEqual value: '+', scopes: ['source.js', 'meta.method-call.js', 'meta.arguments.js', 'keyword.operator.js']
1660- expect(tokens[9]).toEqual value: ' y ', scopes: ['source.js', 'meta.method-call.js', 'meta.arguments.js' ]
1677+ expect(tokens[9]).toEqual value: ' y ', scopes: ['source.js', 'meta.method-call.js', 'meta.arguments.js']
16611678 expect(tokens[10]).toEqual value: '+', scopes: ['source.js', 'meta.method-call.js', 'meta.arguments.js', 'keyword.operator.js']
16621679 expect(tokens[12]).toEqual value: delim, scopes: ['source.js', 'meta.method-call.js', 'meta.arguments.js', scope, 'punctuation.definition.string.begin.js']
16631680 expect(tokens[13]).toEqual value: ':function()', scopes: ['source.js', 'meta.method-call.js', 'meta.arguments.js', scope]
0 commit comments