From 4033cf28142664c52aa7b4bc95340ac913397ac8 Mon Sep 17 00:00:00 2001 From: Colin Casey Date: Sat, 21 Sep 2013 01:24:39 -0300 Subject: feat(filter): allow map of filters to be registered This feature adds similar functionality to what `$ControllerProvider.register` and `$CompileProvider.directive` currently provide by allowing a map of filter name/factories to be passed as the sole argument to `$FilterProvider.register` to register all of the specified filters. Closes #4036 Closes #4091 --- test/ng/filterSpec.js | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 test/ng/filterSpec.js (limited to 'test/ng') diff --git a/test/ng/filterSpec.js b/test/ng/filterSpec.js new file mode 100644 index 00000000..fc0571cb --- /dev/null +++ b/test/ng/filterSpec.js @@ -0,0 +1,47 @@ +'use strict'; + +describe('$filter', function() { + var $filterProvider, $filter; + + beforeEach(module(function(_$filterProvider_) { + $filterProvider = _$filterProvider_; + })); + + beforeEach(inject(function(_$filter_) { + $filter = _$filter_; + })); + + describe('provider', function() { + it('should allow registration of filters', function() { + var FooFilter = function() { + return function() { return 'foo'; }; + }; + + $filterProvider.register('foo', FooFilter); + + var fooFilter = $filter('foo'); + expect(fooFilter()).toBe('foo'); + }); + + it('should allow registration of a map of filters', function() { + var FooFilter = function() { + return function() { return 'foo'; }; + }; + + var BarFilter = function() { + return function() { return 'bar'; }; + }; + + $filterProvider.register({ + 'foo': FooFilter, + 'bar': BarFilter + }); + + var fooFilter = $filter('foo'); + expect(fooFilter()).toBe('foo'); + + var barFilter = $filter('bar'); + expect(barFilter()).toBe('bar'); + }); + }); +}); \ No newline at end of file -- cgit v1.2.3