File tree Expand file tree Collapse file tree 2 files changed +9
-6
lines changed Expand file tree Collapse file tree 2 files changed +9
-6
lines changed Original file line number Diff line number Diff line change @@ -2,7 +2,7 @@ var _ = require('../util')
2
2
var Cache = require ( '../cache' )
3
3
var cache = new Cache ( 1000 )
4
4
var argRE = / ^ [ ^ \{ \? ] + $ | ^ ' [ ^ ' ] * ' $ | ^ " [ ^ " ] * " $ /
5
- var filterTokenRE = / [ ^ \s ' " ] + | ' [ ^ ' ] + ' | " [ ^ " ] + " / g
5
+ var filterTokenRE = / [ ^ \s ' " ] + | ' [ ^ ' ] * ' | " [ ^ " ] * " / g
6
6
var reservedArgRE = / ^ i n $ | ^ - ? \d + /
7
7
8
8
/**
@@ -71,9 +71,10 @@ function processFilterArg (arg) {
71
71
var stripped = reservedArgRE . test ( arg )
72
72
? arg
73
73
: _ . stripQuotes ( arg )
74
+ var dynamic = stripped === false
74
75
return {
75
- value : stripped || arg ,
76
- dynamic : ! stripped
76
+ value : dynamic ? arg : stripped ,
77
+ dynamic : dynamic
77
78
}
78
79
}
79
80
Original file line number Diff line number Diff line change @@ -18,18 +18,20 @@ describe('Directive Parser', function () {
18
18
} )
19
19
20
20
it ( 'with filters' , function ( ) {
21
- var res = parse ( ' arg : exp | abc de \'ok\' | bcd' )
21
+ var res = parse ( ' arg : exp | abc de \'ok\' \'\' | bcd' )
22
22
expect ( res . length ) . toBe ( 1 )
23
23
expect ( res [ 0 ] . expression ) . toBe ( 'exp' )
24
24
expect ( res [ 0 ] . arg ) . toBe ( 'arg' )
25
- expect ( res [ 0 ] . raw ) . toBe ( 'arg : exp | abc de \'ok\' | bcd' )
25
+ expect ( res [ 0 ] . raw ) . toBe ( 'arg : exp | abc de \'ok\' \'\' | bcd' )
26
26
expect ( res [ 0 ] . filters . length ) . toBe ( 2 )
27
27
expect ( res [ 0 ] . filters [ 0 ] . name ) . toBe ( 'abc' )
28
- expect ( res [ 0 ] . filters [ 0 ] . args . length ) . toBe ( 2 )
28
+ expect ( res [ 0 ] . filters [ 0 ] . args . length ) . toBe ( 3 )
29
29
expect ( res [ 0 ] . filters [ 0 ] . args [ 0 ] . value ) . toBe ( 'de' )
30
30
expect ( res [ 0 ] . filters [ 0 ] . args [ 0 ] . dynamic ) . toBe ( true )
31
31
expect ( res [ 0 ] . filters [ 0 ] . args [ 1 ] . value ) . toBe ( 'ok' )
32
32
expect ( res [ 0 ] . filters [ 0 ] . args [ 1 ] . dynamic ) . toBe ( false )
33
+ expect ( res [ 0 ] . filters [ 0 ] . args [ 2 ] . value ) . toBe ( '' )
34
+ expect ( res [ 0 ] . filters [ 0 ] . args [ 2 ] . dynamic ) . toBe ( false )
33
35
expect ( res [ 0 ] . filters [ 1 ] . name ) . toBe ( 'bcd' )
34
36
expect ( res [ 0 ] . filters [ 1 ] . args ) . toBeUndefined ( )
35
37
} )
You can’t perform that action at this time.
0 commit comments