@@ -87,15 +87,15 @@ describe('Tokenizer', function() {
87
87
88
88
it ( 'supports escaping multiple escape characters' , function ( ) {
89
89
var result = tokenize ( "{{foo}} \\\\{{bar}} \\\\{{baz}}" ) ;
90
- shouldMatchTokens ( result , [ 'OPEN' , 'ID' , 'CLOSE' , 'CONTENT' , 'OPEN' , 'ID' , 'CLOSE' , 'CONTENT' , 'OPEN' , 'ID' , 'CLOSE' ] ) ;
90
+ shouldMatchTokens ( result , [ 'OPEN' , 'ID' , 'CLOSE' , 'CONTENT' , 'OPEN' , 'ID' , 'CLOSE' , 'CONTENT' , 'OPEN' , 'ID' , 'CLOSE' ] ) ;
91
91
92
- shouldBeToken ( result [ 3 ] , "CONTENT" , " \\" ) ;
93
- shouldBeToken ( result [ 5 ] , "ID" , "bar" ) ;
94
- shouldBeToken ( result [ 7 ] , "CONTENT" , " \\" ) ;
95
- shouldBeToken ( result [ 9 ] , "ID" , "baz" ) ;
92
+ shouldBeToken ( result [ 3 ] , "CONTENT" , " \\" ) ;
93
+ shouldBeToken ( result [ 5 ] , "ID" , "bar" ) ;
94
+ shouldBeToken ( result [ 7 ] , "CONTENT" , " \\" ) ;
95
+ shouldBeToken ( result [ 9 ] , "ID" , "baz" ) ;
96
96
} ) ;
97
97
98
- it ( 'supports mixed escaped delimiters and escaped escape characters' , function ( ) {
98
+ it ( 'supports escaped mustaches after escaped escape characters' , function ( ) {
99
99
var result = tokenize ( "{{foo}} \\\\{{bar}} \\{{baz}}" ) ;
100
100
shouldMatchTokens ( result , [ 'OPEN' , 'ID' , 'CLOSE' , 'CONTENT' , 'OPEN' , 'ID' , 'CLOSE' , 'CONTENT' , 'CONTENT' , 'CONTENT' ] ) ;
101
101
@@ -106,6 +106,16 @@ describe('Tokenizer', function() {
106
106
shouldBeToken ( result [ 8 ] , "CONTENT" , "{{baz}}" ) ;
107
107
} ) ;
108
108
109
+ it ( 'supports escaped escape characters after escaped mustaches' , function ( ) {
110
+ var result = tokenize ( "{{foo}} \\{{bar}} \\\\{{baz}}" ) ;
111
+ shouldMatchTokens ( result , [ 'OPEN' , 'ID' , 'CLOSE' , 'CONTENT' , 'CONTENT' , 'CONTENT' , 'OPEN' , 'ID' , 'CLOSE' ] ) ;
112
+
113
+ shouldBeToken ( result [ 4 ] , "CONTENT" , "{{bar}} " ) ;
114
+ shouldBeToken ( result [ 5 ] , "CONTENT" , "\\" ) ;
115
+ shouldBeToken ( result [ 6 ] , "OPEN" , "{{" ) ;
116
+ shouldBeToken ( result [ 7 ] , "ID" , "baz" ) ;
117
+ } ) ;
118
+
109
119
it ( 'supports escaped escape character on a triple stash' , function ( ) {
110
120
var result = tokenize ( "{{foo}} \\\\{{{bar}}} {{baz}}" ) ;
111
121
shouldMatchTokens ( result , [ 'OPEN' , 'ID' , 'CLOSE' , 'CONTENT' , 'OPEN_UNESCAPED' , 'ID' , 'CLOSE_UNESCAPED' , 'CONTENT' , 'OPEN' , 'ID' , 'CLOSE' ] ) ;
0 commit comments