mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-01-13 17:02:23 +08:00
fix($injector): report circularity in circular dependency error message
Change the error message for a circular dependency to display the full circle back to the first service being instantiated, so that the problem is obvious. The previous message stopped one dependency short of the full circle. Changes the content of the cdep error message, which may be considered a breaking change. Closes #7500
This commit is contained in:
committed by
rodyhaddad
parent
3de07aa2eb
commit
545d22b470
@@ -749,7 +749,8 @@ function createInjector(modulesToLoad, strictDi) {
|
||||
function getService(serviceName) {
|
||||
if (cache.hasOwnProperty(serviceName)) {
|
||||
if (cache[serviceName] === INSTANTIATING) {
|
||||
throw $injectorMinErr('cdep', 'Circular dependency found: {0}', path.join(' <- '));
|
||||
throw $injectorMinErr('cdep', 'Circular dependency found: {0}',
|
||||
serviceName + ' <- ' + path.join(' <- '));
|
||||
}
|
||||
return cache[serviceName];
|
||||
} else {
|
||||
|
||||
@@ -656,7 +656,7 @@ describe('injector', function() {
|
||||
$provide.factory('service', function(service){});
|
||||
return function(service) {};
|
||||
}]);
|
||||
}).toThrowMinErr('$injector', 'cdep', 'Circular dependency found: service');
|
||||
}).toThrowMinErr('$injector', 'cdep', 'Circular dependency found: service <- service');
|
||||
});
|
||||
|
||||
|
||||
@@ -667,7 +667,7 @@ describe('injector', function() {
|
||||
$provide.factory('b', function(a){});
|
||||
return function(a) {};
|
||||
}]);
|
||||
}).toThrowMinErr('$injector', 'cdep', 'Circular dependency found: b <- a');
|
||||
}).toThrowMinErr('$injector', 'cdep', 'Circular dependency found: a <- b <- a');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user