File tree Expand file tree Collapse file tree 2 files changed +30
-5
lines changed Expand file tree Collapse file tree 2 files changed +30
-5
lines changed Original file line number Diff line number Diff line change 55
55
var oldDash = window . _ ;
56
56
57
57
/** Used to detect delimiter values that should be processed by `tokenizeEvaluate` */
58
- var reComplexDelimiter = / [ - ) } = { ( + ] | \[ \D / ;
58
+ var reComplexDelimiter = / [ - + = ! ~ * % & ^ < > | { ( \/ ] | \[ \D | \b (?: d e l e t e | i n | i n s t a n c e o f | n e w | t y p e o f | v o i d ) \b / ;
59
59
60
60
/** Used to match code generated in place of template delimiters */
61
61
var reDelimiterCodeLeading = / ^ ' ; \n / ,
Original file line number Diff line number Diff line change 671
671
} ) ;
672
672
673
673
test ( 'should work with complex "interpolate" delimiters' , function ( ) {
674
- var compiled = _ . template ( '<%= a + b %>' ) ,
675
- data = { 'a' : 1 , 'b' : 2 } ;
676
-
677
- equal ( compiled ( data ) , 3 ) ;
674
+ _ . each ( {
675
+ '<%= a + b %>' : '3' ,
676
+ '<%= b - a %>' : '1' ,
677
+ '<%= a = b %>' : '2' ,
678
+ '<%= !a %>' : 'false' ,
679
+ '<%= ~a %>' : '-2' ,
680
+ '<%= a * b %>' : '2' ,
681
+ '<%= a / b %>' : '0.5' ,
682
+ '<%= a % b %>' : '1' ,
683
+ '<%= a >> b %>' : '0' ,
684
+ '<%= a << b %>' : '4' ,
685
+ '<%= a & b %>' : '0' ,
686
+ '<%= a ^ b %>' : '3' ,
687
+ '<%= a | b %>' : '3' ,
688
+ '<%= {}.toString.call(0) %>' : '[object Number]' ,
689
+ '<%= a.toFixed(2) %>' : '1.00' ,
690
+ '<%= obj["a"] %>' : '1' ,
691
+ '<%= delete a %>' : 'true' ,
692
+ '<%= "a" in obj %>' : 'true' ,
693
+ '<%= obj instanceof Object %>' : 'true' ,
694
+ '<%= new Boolean %>' : 'false' ,
695
+ '<%= typeof a %>' : 'number' ,
696
+ '<%= void a %>' : ''
697
+ } , function ( value , key ) {
698
+ var compiled = _ . template ( key ) ,
699
+ data = { 'a' : 1 , 'b' : 2 } ;
700
+
701
+ equal ( compiled ( data ) , value ) ;
702
+ } ) ;
678
703
} ) ;
679
704
} ( ) ) ;
680
705
You can’t perform that action at this time.
0 commit comments