From 9e89a31b129e40c805178535c244899ffafb77d8 Mon Sep 17 00:00:00 2001 From: Pete Bacon Darwin Date: Wed, 20 Nov 2013 10:35:27 +0000 Subject: fix(loader): expose `$$minErr` to modules such as`ngResource` This is highlighted in angular-phonecat when you try to use the index-async.html which needs to load the ngResource module asynchronously but fails when it tries to call `angular.$$minErr` to create the $resourceMinErr object. Closes #5050 --- src/loader.js | 7 ++++++- test/loaderSpec.js | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/loader.js b/src/loader.js index b8d50917..787fcbfa 100644 --- a/src/loader.js +++ b/src/loader.js @@ -17,7 +17,12 @@ function setupModuleLoader(window) { return obj[name] || (obj[name] = factory()); } - return ensure(ensure(window, 'angular', Object), 'module', function() { + var angular = ensure(window, 'angular', Object); + + // We need to expose `angular.$$minErr` to modules such as `ngResource` that reference it during bootstrap + angular.$$minErr = angular.$$minErr || minErr; + + return ensure(angular, 'module', function() { /** @type {Object.} */ var modules = {}; diff --git a/test/loaderSpec.js b/test/loaderSpec.js index 2a564115..816e0a10 100644 --- a/test/loaderSpec.js +++ b/test/loaderSpec.js @@ -78,4 +78,8 @@ describe('module loader', function() { window.angular.module('hasOwnProperty', []); }).toThrowMinErr('ng','badname', "hasOwnProperty is not a valid module name"); }); + + it('should expose `$$minErr` on the `angular` object', function() { + expect(window.angular.$$minErr).toEqual(jasmine.any(Function)); + }) }); -- cgit v1.2.3