style(injectorSpec): add semicolons & test helpers

This commit is contained in:
Peter Bacon Darwin 2013-10-05 10:36:28 +01:00 committed by Vojta Jina
parent d3fce9e82c
commit 9af8f4e585

View file

@ -599,8 +599,8 @@ describe('injector', function() {
expect(function() { expect(function() {
createInjector([function($provide){ createInjector([function($provide){
$provide.factory('service', function(service){}); $provide.factory('service', function(service){});
return function(service) {} return function(service) {};
}]) }]);
}).toThrowMinErr('$injector', 'cdep', 'Circular dependency found: service'); }).toThrowMinErr('$injector', 'cdep', 'Circular dependency found: service');
}); });
@ -610,37 +610,51 @@ describe('injector', function() {
createInjector([function($provide){ createInjector([function($provide){
$provide.factory('a', function(b){}); $provide.factory('a', function(b){});
$provide.factory('b', function(a){}); $provide.factory('b', function(a){});
return function(a) {} return function(a) {};
}]) }]);
}).toThrowMinErr('$injector', 'cdep', 'Circular dependency found: b <- a'); }).toThrowMinErr('$injector', 'cdep', 'Circular dependency found: b <- a');
}); });
}); });
}); });
describe('retrieval', function() { describe('retrieval', function() {
var instance, var instance = {name:'angular'};
$injector, var Instance = function() { this.name = 'angular'; };
$provide;
beforeEach(function() { function createInjectorWithValue(instanceName, instance) {
$injector = createInjector([ ['$provide', function(provide) { return createInjector([ ['$provide', function(provide) {
($provide = provide).value('instance', instance = {name:'angular'}); provide.value(instanceName, instance);
}]]); }]]);
}
function createInjectorWithFactory(serviceName, serviceDef) {
return createInjector([ ['$provide', function(provide) {
provide.factory(serviceName, serviceDef);
}]]);
}
it('should retrieve by name', function() {
var $injector = createInjectorWithValue('instance', instance);
var retrievedInstance = $injector.get('instance');
expect(retrievedInstance).toBe(instance);
}); });
it('should retrieve by name and cache instance', function() { it('should cache instance', function() {
expect(instance).toEqual({name: 'angular'}); var $injector = createInjectorWithFactory('instance', function() { return new Instance(); });
var instance = $injector.get('instance');
expect($injector.get('instance')).toBe(instance); expect($injector.get('instance')).toBe(instance);
expect($injector.get('instance')).toBe(instance); expect($injector.get('instance')).toBe(instance);
}); });
it('should call functions and infer arguments', function() { it('should call functions and infer arguments', function() {
expect($injector.invoke(function(instance) { return instance; })).toBe(instance); var $injector = createInjectorWithValue('instance', instance);
expect($injector.invoke(function(instance) { return instance; })).toBe(instance); expect($injector.invoke(function(instance) { return instance; })).toBe(instance);
}); });
}); });