From e0ce9ed36d9b8c1858e4f928b61d21d7d4c023b8 Mon Sep 17 00:00:00 2001 From: RoyLING Date: Sun, 5 Jan 2014 15:51:04 +0800 Subject: refactor(filterFilter): simplify code by a ternary op instead of if-else - use only one IIFE and a ternary op in it, instead of invoking separate IIFEs in if-else (this also completely fixed the same issue closed by PR #3597) - also add a spec to verify usage of '$' property in expression object (e.g. `{$: 'a'}`) Closes #5637 --- test/ng/filter/filterSpec.js | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'test') diff --git a/test/ng/filter/filterSpec.js b/test/ng/filter/filterSpec.js index 881cefab..cab24ec5 100644 --- a/test/ng/filter/filterSpec.js +++ b/test/ng/filter/filterSpec.js @@ -60,6 +60,17 @@ describe('Filter: filter', function() { expect(filter(items, {first:'misko', last:'hevery'})[0]).toEqual(items[0]); }); + it('should match any properties for given "$" property', function() { + var items = [{first: 'tom', last: 'hevery'}, + {first: 'adam', last: 'hevery', alias: 'tom', done: false}, + {first: 'john', last: 'clark', middle: 'tommy'}]; + expect(filter(items, {$: 'tom'}).length).toBe(3); + expect(filter(items, {$: 'a'}).length).toBe(2); + expect(filter(items, {$: false}).length).toBe(1); + expect(filter(items, {$: 10}).length).toBe(0); + expect(filter(items, {$: 'hevery'})[0]).toEqual(items[0]); + }); + it('should support boolean properties', function() { var items = [{name: 'tom', current: true}, {name: 'demi', current: false}, -- cgit v1.2.3