From 0bfaa579c04d1b7cd21fbe16bfbc47a684f223b3 Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Thu, 8 Mar 2012 16:53:15 -0800 Subject: feat($provide.service): Add $provide.service() for registering a class --- test/InjectorSpec.js | 32 ++++++++++++++++++++++++++++++++ test/loaderSpec.js | 2 ++ 2 files changed, 34 insertions(+) (limited to 'test') diff --git a/test/InjectorSpec.js b/test/InjectorSpec.js index b0682b29..cc5c5b50 100644 --- a/test/InjectorSpec.js +++ b/test/InjectorSpec.js @@ -315,6 +315,38 @@ describe('injector', function() { }); + describe('service', function() { + it('should register a class', function() { + var Type = function(value) { + this.value = value; + }; + + var instance = createInjector([function($provide) { + $provide.value('value', 123); + $provide.service('foo', Type); + }]).get('foo'); + + expect(instance instanceof Type).toBe(true); + expect(instance.value).toBe(123); + }); + + + it('should register a set of classes', function() { + var Type = function() {}; + + var injector = createInjector([function($provide) { + $provide.service({ + foo: Type, + bar: Type + }); + }]); + + expect(injector.get('foo') instanceof Type).toBe(true); + expect(injector.get('bar') instanceof Type).toBe(true); + }); + }); + + describe('provider', function() { it('should configure $provide provider object', function() { expect(createInjector([function($provide) { diff --git a/test/loaderSpec.js b/test/loaderSpec.js index ea1046f7..dff3787d 100644 --- a/test/loaderSpec.js +++ b/test/loaderSpec.js @@ -34,6 +34,7 @@ describe('module loader', function() { expect(myModule. provider('sk', 'sv'). factory('fk', 'fv'). + service('a', 'aa'). value('k', 'v'). filter('f', 'ff'). directive('d', 'dd'). @@ -47,6 +48,7 @@ describe('module loader', function() { ['$injector', 'invoke', ['config'] ], ['$provide', 'provider', ['sk', 'sv'] ], ['$provide', 'factory', ['fk', 'fv'] ], + ['$provide', 'service', ['a', 'aa'] ], ['$provide', 'value', ['k', 'v'] ], ['$filterProvider', 'register', ['f', 'ff'] ], ['$compileProvider', 'directive', ['d', 'dd'] ], -- cgit v1.2.3