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:
Matias Niemelä
2014-01-22 19:28:42 -05:00
parent 906fdad0f9
commit 4224cd5182
10 changed files with 25 additions and 38 deletions

View File

@@ -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) {

View File

@@ -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) {

View File

@@ -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;

View File

@@ -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;

View File

@@ -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);

View File

@@ -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;

View File

@@ -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_) {

View File

@@ -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;

View File

@@ -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() {

View File

@@ -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(