@@ -603,20 +603,37 @@ describe "JavaScript grammar", ->
603
603
describe "ES6 tagged HTML string templates" , - >
604
604
it "tokenizes them as strings" , - >
605
605
{ 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' ]
608
608
expect ( tokens [ 2 ] ) . toEqual value: 'hey <b>' , scopes : [ 'source.js' , 'string.quoted.template.html.js' ]
609
609
expect ( tokens [ 3 ] ) . toEqual value: '${' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'source.js.embedded.source' , 'punctuation.section.embedded.js' ]
610
610
expect ( tokens [ 4 ] ) . toEqual value: 'name' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'source.js.embedded.source' ]
611
611
expect ( tokens [ 5 ] ) . toEqual value: '}' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'source.js.embedded.source' , 'punctuation.section.embedded.js' ]
612
612
expect ( tokens [ 6 ] ) . toEqual value: '</b>' , scopes : [ 'source.js' , 'string.quoted.template.html.js' ]
613
613
expect ( tokens [ 7 ] ) . toEqual value: '`' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'punctuation.definition.string.end.js' ]
614
614
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
+
615
632
describe "ES6 tagged HTML string templates with expanded function name" , - >
616
633
it "tokenizes them as strings" , - >
617
634
{ 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' ]
620
637
expect ( tokens [ 2 ] ) . toEqual value: 'hey <b>' , scopes : [ 'source.js' , 'string.quoted.template.html.js' ]
621
638
expect ( tokens [ 3 ] ) . toEqual value: '${' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'source.js.embedded.source' , 'punctuation.section.embedded.js' ]
622
639
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", ->
627
644
describe "ES6 tagged HTML string templates with expanded function name and white space" , - >
628
645
it "tokenizes them as strings" , - >
629
646
{ 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' ]
633
650
expect ( tokens [ 3 ] ) . toEqual value: 'hey <b>' , scopes : [ 'source.js' , 'string.quoted.template.html.js' ]
634
651
expect ( tokens [ 4 ] ) . toEqual value: '${' , scopes : [ 'source.js' , 'string.quoted.template.html.js' , 'source.js.embedded.source' , 'punctuation.section.embedded.js' ]
635
652
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", ->
640
657
describe "ES6 tagged Relay.QL string templates" , - >
641
658
it "tokenizes them as strings" , - >
642
659
{ 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' ]
645
662
expect ( tokens [ 2 ] ) . toEqual value: 'fragment on Foo { id }' , scopes : [ 'source.js' , 'string.quoted.template.graphql.js' ]
646
663
expect ( tokens [ 3 ] ) . toEqual value: '`' , scopes : [ 'source.js' , 'string.quoted.template.graphql.js' , 'punctuation.definition.string.end.js' ]
647
664
648
665
describe "ES6 tagged Relay.QL string templates with interpolation" , - >
649
666
it "tokenizes them as strings" , - >
650
667
{ 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' ]
653
670
expect ( tokens [ 2 ] ) . toEqual value: 'fragment on Foo { ' , scopes : [ 'source.js' , 'string.quoted.template.graphql.js' ]
654
671
expect ( tokens [ 3 ] ) . toEqual value: '${' , scopes : [ 'source.js' , 'string.quoted.template.graphql.js' , 'source.js.embedded.source' , 'punctuation.section.embedded.js' ]
655
672
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", ->
1657
1674
expect(tokens[5]).toEqual value: 'x', scopes: ['source.js', 'meta.method-call.js', 'meta.arguments.js', scope]
1658
1675
expect(tokens[6]).toEqual value: delim, scopes: ['source.js', 'meta.method-call.js', 'meta.arguments.js', scope, 'punctuation.definition.string.end.js']
1659
1676
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']
1661
1678
expect(tokens[10]).toEqual value: '+', scopes: ['source.js', 'meta.method-call.js', 'meta.arguments.js', 'keyword.operator.js']
1662
1679
expect(tokens[12]).toEqual value: delim, scopes: ['source.js', 'meta.method-call.js', 'meta.arguments.js', scope, 'punctuation.definition.string.begin.js']
1663
1680
expect(tokens[13]).toEqual value: ':function()', scopes: ['source.js', 'meta.method-call.js', 'meta.arguments.js', scope]
0 commit comments