aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMatias Niemelä2013-08-01 20:13:36 -0400
committerMisko Hevery2013-08-03 00:46:18 -0700
commitf2dfa8916f8ed855d55187f5400c4c2566ce9a1b (patch)
treef3fcaa9a956751836da05f0e6eb1383d6421de15 /test
parentd45ac7707eb336d47116558e49893f910fdaf1fb (diff)
downloadangular.js-f2dfa8916f8ed855d55187f5400c4c2566ce9a1b.tar.bz2
feat($compile): support compile animation hooks classes
Diffstat (limited to 'test')
-rwxr-xr-xtest/ng/compileSpec.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/test/ng/compileSpec.js b/test/ng/compileSpec.js
index c1dedd4a..5dfad4be 100755
--- a/test/ng/compileSpec.js
+++ b/test/ng/compileSpec.js
@@ -3268,4 +3268,55 @@ describe('$compile', function() {
expect(spans.eq(3)).toBeHidden();
}));
});
+
+ describe('$animate animation hooks', function() {
+
+ beforeEach(module('mock.animate'));
+
+ it('should automatically fire the addClass and removeClass animation hooks',
+ inject(function($compile, $animate, $rootScope) {
+
+ var data, element = jqLite('<div class="{{val1}} {{val2}} fire"></div>');
+ $compile(element)($rootScope);
+
+ $rootScope.$digest();
+ data = $animate.flushNext('removeClass');
+
+ expect(element.hasClass('fire')).toBe(true);
+
+ $rootScope.val1 = 'ice';
+ $rootScope.val2 = 'rice';
+ $rootScope.$digest();
+
+ data = $animate.flushNext('addClass');
+ expect(data.params[1]).toBe('ice rice');
+
+ expect(element.hasClass('ice')).toBe(true);
+ expect(element.hasClass('rice')).toBe(true);
+ expect(element.hasClass('fire')).toBe(true);
+
+ $rootScope.val2 = 'dice';
+ $rootScope.$digest();
+
+ data = $animate.flushNext('removeClass');
+ expect(data.params[1]).toBe('rice');
+ data = $animate.flushNext('addClass');
+ expect(data.params[1]).toBe('dice');
+
+ expect(element.hasClass('ice')).toBe(true);
+ expect(element.hasClass('dice')).toBe(true);
+ expect(element.hasClass('fire')).toBe(true);
+
+ $rootScope.val1 = '';
+ $rootScope.val2 = '';
+ $rootScope.$digest();
+
+ data = $animate.flushNext('removeClass');
+ expect(data.params[1]).toBe('ice dice');
+
+ expect(element.hasClass('ice')).toBe(false);
+ expect(element.hasClass('dice')).toBe(false);
+ expect(element.hasClass('fire')).toBe(true);
+ }));
+ });
});