File tree Expand file tree Collapse file tree 2 files changed +25
-7
lines changed Expand file tree Collapse file tree 2 files changed +25
-7
lines changed Original file line number Diff line number Diff line change @@ -41,13 +41,18 @@ function pushFilter () {
4141 */
4242
4343function processFilterArg ( arg ) {
44- var stripped = reservedArgRE . test ( arg )
45- ? arg
46- : _ . stripQuotes ( arg )
47- var dynamic = stripped === arg
48- return {
49- value : dynamic ? arg : stripped ,
50- dynamic : dynamic
44+ if ( reservedArgRE . test ( arg ) ) {
45+ return {
46+ value : arg ,
47+ dynamic : false
48+ }
49+ } else {
50+ var stripped = _ . stripQuotes ( arg )
51+ var dynamic = stripped === arg
52+ return {
53+ value : dynamic ? arg : stripped ,
54+ dynamic : dynamic
55+ }
5156 }
5257}
5358
Original file line number Diff line number Diff line change @@ -23,6 +23,19 @@ describe('New Directive Parser', function () {
2323 expect ( res . filters [ 1 ] . args ) . toBeUndefined ( )
2424 } )
2525
26+ it ( 'reserved filter args' , function ( ) {
27+ var res = parse ( 'arr | filterBy a in b' )
28+ expect ( res . expression ) . toBe ( 'arr' )
29+ expect ( res . filters . length ) . toBe ( 1 )
30+ expect ( res . filters [ 0 ] . args . length ) . toBe ( 3 )
31+ expect ( res . filters [ 0 ] . args [ 0 ] . value ) . toBe ( 'a' )
32+ expect ( res . filters [ 0 ] . args [ 0 ] . dynamic ) . toBe ( true )
33+ expect ( res . filters [ 0 ] . args [ 1 ] . value ) . toBe ( 'in' )
34+ expect ( res . filters [ 0 ] . args [ 1 ] . dynamic ) . toBe ( false )
35+ expect ( res . filters [ 0 ] . args [ 2 ] . value ) . toBe ( 'b' )
36+ expect ( res . filters [ 0 ] . args [ 2 ] . dynamic ) . toBe ( true )
37+ } )
38+
2639 it ( 'double pipe' , function ( ) {
2740 var res = parse ( 'a || b | c' )
2841 expect ( res . expression ) . toBe ( 'a || b' )
You can’t perform that action at this time.
0 commit comments