mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-01-12 22:45:52 +08:00
fix(mocks): rename mock.animate to ngAnimateMock and ensure it contains all test helper code for ngAnimate
Closes #5822 Closes #5917
This commit is contained in:
38
src/ngMock/angular-mocks.js
vendored
38
src/ngMock/angular-mocks.js
vendored
@@ -757,43 +757,29 @@ angular.mock.TzDate = function (offset, timestamp) {
|
||||
angular.mock.TzDate.prototype = Date.prototype;
|
||||
/* jshint +W101 */
|
||||
|
||||
// TODO(matias): remove this IMMEDIATELY once we can properly detect the
|
||||
// presence of a registered module
|
||||
var animateLoaded;
|
||||
try {
|
||||
angular.module('ngAnimate');
|
||||
animateLoaded = true;
|
||||
} catch(e) {}
|
||||
angular.mock.animate = angular.module('ngAnimateMock', ['ng'])
|
||||
|
||||
if(animateLoaded) {
|
||||
angular.module('ngAnimate').config(['$provide', function($provide) {
|
||||
.config(['$provide', function($provide) {
|
||||
var reflowQueue = [];
|
||||
|
||||
$provide.value('$$animateReflow', function(fn) {
|
||||
reflowQueue.push(fn);
|
||||
return angular.noop;
|
||||
});
|
||||
$provide.decorator('$animate', function($delegate) {
|
||||
$delegate.triggerReflow = function() {
|
||||
if(reflowQueue.length === 0) {
|
||||
throw new Error('No animation reflows present');
|
||||
}
|
||||
angular.forEach(reflowQueue, function(fn) {
|
||||
fn();
|
||||
});
|
||||
reflowQueue = [];
|
||||
};
|
||||
return $delegate;
|
||||
});
|
||||
}]);
|
||||
}
|
||||
|
||||
angular.mock.animate = angular.module('mock.animate', ['ng'])
|
||||
|
||||
.config(['$provide', function($provide) {
|
||||
$provide.decorator('$animate', function($delegate) {
|
||||
var animate = {
|
||||
queue : [],
|
||||
enabled : $delegate.enabled,
|
||||
triggerReflow : function() {
|
||||
if(reflowQueue.length === 0) {
|
||||
throw new Error('No animation reflows present');
|
||||
}
|
||||
angular.forEach(reflowQueue, function(fn) {
|
||||
fn();
|
||||
});
|
||||
reflowQueue = [];
|
||||
}
|
||||
};
|
||||
|
||||
angular.forEach(['enter','leave','move','addClass','removeClass'], function(method) {
|
||||
|
||||
@@ -4490,7 +4490,7 @@ describe('$compile', function() {
|
||||
|
||||
describe('$animate animation hooks', function() {
|
||||
|
||||
beforeEach(module('mock.animate'));
|
||||
beforeEach(module('ngAnimateMock'));
|
||||
|
||||
it('should automatically fire the addClass and removeClass animation hooks',
|
||||
inject(function($compile, $animate, $rootScope) {
|
||||
|
||||
@@ -309,7 +309,7 @@ describe('ngClass animations', function() {
|
||||
var body, element, $rootElement;
|
||||
|
||||
it("should avoid calling addClass accidentally when removeClass is going on", function() {
|
||||
module('mock.animate');
|
||||
module('ngAnimateMock');
|
||||
inject(function($compile, $rootScope, $animate, $timeout) {
|
||||
var element = angular.element('<div ng-class="val"></div>');
|
||||
var body = jqLite(document.body);
|
||||
@@ -416,7 +416,7 @@ describe('ngClass animations', function() {
|
||||
});
|
||||
|
||||
it("should not remove classes if they're going to be added back right after", function() {
|
||||
module('mock.animate');
|
||||
module('ngAnimateMock');
|
||||
|
||||
inject(function($rootScope, $compile, $animate) {
|
||||
var className;
|
||||
|
||||
@@ -210,7 +210,7 @@ describe('ngIf animations', function () {
|
||||
return element;
|
||||
}
|
||||
|
||||
beforeEach(module('mock.animate'));
|
||||
beforeEach(module('ngAnimateMock'));
|
||||
|
||||
beforeEach(module(function() {
|
||||
// we need to run animation on attached elements;
|
||||
|
||||
@@ -353,7 +353,7 @@ describe('ngInclude', function() {
|
||||
};
|
||||
}
|
||||
|
||||
beforeEach(module(spyOnAnchorScroll(), 'mock.animate'));
|
||||
beforeEach(module(spyOnAnchorScroll(), 'ngAnimateMock'));
|
||||
beforeEach(inject(
|
||||
putIntoCache('template.html', 'CONTENT'),
|
||||
putIntoCache('another.html', 'CONTENT')));
|
||||
@@ -589,7 +589,7 @@ describe('ngInclude animations', function() {
|
||||
dealoc(element);
|
||||
});
|
||||
|
||||
beforeEach(module('mock.animate'));
|
||||
beforeEach(module('ngAnimateMock'));
|
||||
|
||||
afterEach(function(){
|
||||
dealoc(element);
|
||||
|
||||
@@ -1149,7 +1149,7 @@ describe('ngRepeat animations', function() {
|
||||
return element;
|
||||
}
|
||||
|
||||
beforeEach(module('mock.animate'));
|
||||
beforeEach(module('ngAnimateMock'));
|
||||
|
||||
beforeEach(module(function() {
|
||||
// we need to run animation on attached elements;
|
||||
|
||||
@@ -73,7 +73,7 @@ describe('ngShow / ngHide animations', function() {
|
||||
body.removeAttr('ng-animation-running');
|
||||
});
|
||||
|
||||
beforeEach(module('mock.animate'));
|
||||
beforeEach(module('ngAnimateMock'));
|
||||
|
||||
beforeEach(module(function($animateProvider, $provide) {
|
||||
return function(_$rootElement_) {
|
||||
|
||||
@@ -223,7 +223,7 @@ describe('ngSwitch animations', function() {
|
||||
return element;
|
||||
}
|
||||
|
||||
beforeEach(module('mock.animate'));
|
||||
beforeEach(module('ngAnimateMock'));
|
||||
|
||||
beforeEach(module(function() {
|
||||
// we need to run animation on attached elements;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
describe("ngAnimate", function() {
|
||||
|
||||
beforeEach(module('ngAnimate'));
|
||||
beforeEach(module('ngAnimateMock'));
|
||||
|
||||
|
||||
it("should disable animations on bootstrap for structural animations even after the first digest has passed", function() {
|
||||
|
||||
@@ -684,7 +684,7 @@ describe('ngView animations', function() {
|
||||
|
||||
describe('hooks', function() {
|
||||
beforeEach(module('ngAnimate'));
|
||||
beforeEach(module('mock.animate'));
|
||||
beforeEach(module('ngAnimateMock'));
|
||||
|
||||
it('should fire off the enter animation',
|
||||
inject(function($compile, $rootScope, $location, $timeout, $animate) {
|
||||
@@ -702,7 +702,7 @@ describe('ngView animations', function() {
|
||||
|
||||
var item;
|
||||
$templateCache.put('/foo.html', [200, '<div>foo</div>', {}]);
|
||||
element = $compile(html('<ng-view></div>'))($rootScope);
|
||||
element = $compile(html('<div ng-view></div>'))($rootScope);
|
||||
|
||||
$location.path('/foo');
|
||||
$rootScope.$digest();
|
||||
@@ -863,7 +863,7 @@ describe('ngView animations', function() {
|
||||
};
|
||||
}
|
||||
|
||||
beforeEach(module(spyOnAnchorScroll(), 'mock.animate'));
|
||||
beforeEach(module(spyOnAnchorScroll(), 'ngAnimateMock'));
|
||||
beforeEach(inject(spyOnAnimateEnter()));
|
||||
|
||||
it('should call $anchorScroll if autoscroll attribute is present', inject(
|
||||
|
||||
Reference in New Issue
Block a user