From 6818542c694aec6c811fb2fe2f86f7d16544c39b Mon Sep 17 00:00:00 2001 From: Matias Niemelä Date: Mon, 28 Oct 2013 10:43:41 -0600 Subject: fix($animate): ensure enable/disable animations work when the document node is used Closes #4669 --- test/ngAnimate/animateSpec.js | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'test') diff --git a/test/ngAnimate/animateSpec.js b/test/ngAnimate/animateSpec.js index 7bd9fc85..c995cd83 100644 --- a/test/ngAnimate/animateSpec.js +++ b/test/ngAnimate/animateSpec.js @@ -120,6 +120,46 @@ describe("ngAnimate", function() { expect(count).toBe(0); }); }); + + it('should check enable/disable animations up until the $rootElement element', function() { + var rootElm = jqLite('
'); + + var captured = false; + module(function($provide, $animateProvider) { + $provide.value('$rootElement', rootElm); + $animateProvider.register('.ani', function() { + return { + addClass : function(element, className, done) { + captured = true; + done(); + } + } + }); + }); + inject(function($animate, $rootElement, $rootScope, $compile, $timeout) { + var initialState; + angular.bootstrap(rootElm, ['ngAnimate']); + + $animate.enabled(true); + + var element = $compile('
')($rootScope); + rootElm.append(element); + + expect(captured).toBe(false); + $animate.addClass(element, 'red'); + expect(captured).toBe(true); + + captured = false; + $animate.enabled(false); + + $animate.addClass(element, 'blue'); + expect(captured).toBe(false); + + //clean up the mess + $animate.enabled(false, rootElm); + dealoc(rootElm); + }); + }); }); describe("with polyfill", function() { -- cgit v1.2.3