mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-04-29 05:15:38 +08:00
refactor(bootstrap): Remove support for old bootstrap mechnanisms
Remove support for bootstrap detection using: * The element id * The element class. E.g. ``` <div id="ng-app">...</div> <div class="ng-app: module">...</div> ``` Removes reference to how to bootstrap using IE7 BREAKING CHANGE: If using any of the mechanisms specified above, then migrate by specifying the attribute `ng-app` to the root element. E.g. ``` <div ng-app="module">...</div> ``` Closes #8147
This commit is contained in:
committed by
Igor Minar
parent
9dce42b3c2
commit
666a3835d2
@@ -712,16 +712,14 @@ describe('angular', function() {
|
||||
|
||||
beforeEach(function() {
|
||||
element = {
|
||||
getElementById: function (id) {
|
||||
return element.getElementById[id] || [];
|
||||
hasAttribute: function (name) {
|
||||
return !!element[name];
|
||||
},
|
||||
|
||||
|
||||
querySelectorAll: function(arg) {
|
||||
return element.querySelectorAll[arg] || [];
|
||||
querySelector: function(arg) {
|
||||
return element.querySelector[arg] || null;
|
||||
},
|
||||
|
||||
|
||||
getAttribute: function(name) {
|
||||
return element[name];
|
||||
}
|
||||
@@ -738,23 +736,7 @@ describe('angular', function() {
|
||||
|
||||
it('should look for ngApp directive as attr', function() {
|
||||
var appElement = jqLite('<div ng-app="ABC"></div>')[0];
|
||||
element.querySelectorAll['[ng-app]'] = [appElement];
|
||||
angularInit(element, bootstrapSpy);
|
||||
expect(bootstrapSpy).toHaveBeenCalledOnceWith(appElement, ['ABC'], jasmine.any(Object));
|
||||
});
|
||||
|
||||
|
||||
it('should look for ngApp directive in id', function() {
|
||||
var appElement = jqLite('<div id="ng-app" data-ng-app="ABC"></div>')[0];
|
||||
jqLite(document.body).append(appElement);
|
||||
angularInit(element, bootstrapSpy);
|
||||
expect(bootstrapSpy).toHaveBeenCalledOnceWith(appElement, ['ABC'], jasmine.any(Object));
|
||||
});
|
||||
|
||||
|
||||
it('should look for ngApp directive in className', function() {
|
||||
var appElement = jqLite('<div data-ng-app="ABC"></div>')[0];
|
||||
element.querySelectorAll['.ng\\:app'] = [appElement];
|
||||
element.querySelector['[ng-app]'] = appElement;
|
||||
angularInit(element, bootstrapSpy);
|
||||
expect(bootstrapSpy).toHaveBeenCalledOnceWith(appElement, ['ABC'], jasmine.any(Object));
|
||||
});
|
||||
@@ -762,36 +744,22 @@ describe('angular', function() {
|
||||
|
||||
it('should look for ngApp directive using querySelectorAll', function() {
|
||||
var appElement = jqLite('<div x-ng-app="ABC"></div>')[0];
|
||||
element.querySelectorAll['[ng\\:app]'] = [ appElement ];
|
||||
element.querySelector['[x-ng-app]'] = appElement;
|
||||
angularInit(element, bootstrapSpy);
|
||||
expect(bootstrapSpy).toHaveBeenCalledOnceWith(appElement, ['ABC'], jasmine.any(Object));
|
||||
});
|
||||
|
||||
|
||||
it('should bootstrap using class name', function() {
|
||||
var appElement = jqLite('<div class="ng-app: ABC;"></div>')[0];
|
||||
angularInit(jqLite('<div></div>').append(appElement)[0], bootstrapSpy);
|
||||
expect(bootstrapSpy).toHaveBeenCalledOnceWith(appElement, ['ABC'], jasmine.any(Object));
|
||||
});
|
||||
|
||||
|
||||
it('should bootstrap anonymously', function() {
|
||||
var appElement = jqLite('<div x-ng-app></div>')[0];
|
||||
element.querySelectorAll['[x-ng-app]'] = [ appElement ];
|
||||
element.querySelector['[x-ng-app]'] = appElement;
|
||||
angularInit(element, bootstrapSpy);
|
||||
expect(bootstrapSpy).toHaveBeenCalledOnceWith(appElement, [], jasmine.any(Object));
|
||||
});
|
||||
|
||||
|
||||
it('should bootstrap anonymously using class only', function() {
|
||||
var appElement = jqLite('<div class="ng-app"></div>')[0];
|
||||
angularInit(jqLite('<div></div>').append(appElement)[0], bootstrapSpy);
|
||||
expect(bootstrapSpy).toHaveBeenCalledOnceWith(appElement, [], jasmine.any(Object));
|
||||
});
|
||||
|
||||
|
||||
it('should bootstrap if the annotation is on the root element', function() {
|
||||
var appElement = jqLite('<div class="ng-app"></div>')[0];
|
||||
var appElement = jqLite('<div ng-app=""></div>')[0];
|
||||
angularInit(appElement, bootstrapSpy);
|
||||
expect(bootstrapSpy).toHaveBeenCalledOnceWith(appElement, [], jasmine.any(Object));
|
||||
});
|
||||
@@ -838,7 +806,7 @@ describe('angular', function() {
|
||||
|
||||
it('should bootstrap in strict mode when ng-strict-di attribute is specified', function() {
|
||||
bootstrapSpy = spyOn(angular, 'bootstrap').andCallThrough();
|
||||
var appElement = jqLite('<div class="ng-app" ng-strict-di></div>');
|
||||
var appElement = jqLite('<div ng-app="" ng-strict-di></div>');
|
||||
angularInit(jqLite('<div></div>').append(appElement[0])[0], bootstrapSpy);
|
||||
expect(bootstrapSpy).toHaveBeenCalledOnce();
|
||||
expect(bootstrapSpy.mostRecentCall.args[2].strictDi).toBe(true);
|
||||
|
||||
Reference in New Issue
Block a user