aboutsummaryrefslogtreecommitdiffstats
path: root/test/ng/animatorSpec.js
diff options
context:
space:
mode:
authorMatias Niemelä2013-05-13 17:37:52 -0400
committerIgor Minar2013-05-16 16:17:46 -0700
commitc53d4c94300c97dd005f9a0cbdbfa387294b9026 (patch)
treecc532da5b9f1f89afd263cd23921e86251568152 /test/ng/animatorSpec.js
parent24ed61cf5c56f236a31069e60fbfdd3b578fbef3 (diff)
downloadangular.js-c53d4c94300c97dd005f9a0cbdbfa387294b9026.tar.bz2
feat($animator): provide support for custom animation events
Diffstat (limited to 'test/ng/animatorSpec.js')
-rw-r--r--test/ng/animatorSpec.js70
1 files changed, 70 insertions, 0 deletions
diff --git a/test/ng/animatorSpec.js b/test/ng/animatorSpec.js
index c9d1227d..d4d7c0ec 100644
--- a/test/ng/animatorSpec.js
+++ b/test/ng/animatorSpec.js
@@ -352,6 +352,18 @@ describe("$animator", function() {
expect(element.hasClass('animation-cancelled')).toBe(true);
}));
+
+ it("should properly animate custom animation events", inject(function($animator, $rootScope) {
+ $animator.enabled(true);
+ animator = $animator($rootScope, {
+ ngAnimate : '{custom: \'setup-memo\'}'
+ });
+
+ element.text('123');
+ animator.animate('custom',element);
+ window.setTimeout.expect(1).process();
+ expect(element.text()).toBe('memento');
+ }));
});
describe("with CSS3", function() {
@@ -368,6 +380,64 @@ describe("$animator", function() {
})
});
+ it("should properly animate custom animations for specific animation events",
+ inject(function($animator, $rootScope, $compile, $sniffer) {
+
+ $animator.enabled(true);
+ var element = $compile(html('<div></div>'))($rootScope);
+
+ animator = $animator($rootScope, {
+ ngAnimate : '{custom: \'special\'}'
+ });
+
+ animator.animate('custom',element);
+ if($sniffer.transitions) {
+ expect(element.hasClass('special')).toBe(true);
+ window.setTimeout.expect(1).process();
+ expect(element.hasClass('special-active')).toBe(true);
+ }
+ else {
+ expect(window.setTimeout.queue.length).toBe(0);
+ }
+ }));
+
+ it("should not animate custom animations if not specifically defined",
+ inject(function($animator, $rootScope, $compile) {
+
+ $animator.enabled(true);
+ var element = $compile(html('<div></div>'))($rootScope);
+
+ animator = $animator($rootScope, {
+ ngAnimate : '{custom: \'special\'}'
+ });
+
+ expect(window.setTimeout.queue.length).toBe(0);
+ animator.animate('custom1',element);
+ expect(element.hasClass('special')).toBe(false);
+ expect(window.setTimeout.queue.length).toBe(0);
+ }));
+
+ it("should properly animate custom animations for general animation events",
+ inject(function($animator, $rootScope, $compile, $sniffer) {
+
+ $animator.enabled(true);
+ var element = $compile(html('<div></div>'))($rootScope);
+
+ animator = $animator($rootScope, {
+ ngAnimate : "'special'"
+ });
+
+ animator.animate('custom',element);
+ if($sniffer.transitions) {
+ expect(element.hasClass('special-custom')).toBe(true);
+ window.setTimeout.expect(1).process();
+ expect(element.hasClass('special-custom-active')).toBe(true);
+ }
+ else {
+ expect(window.setTimeout.queue.length).toBe(0);
+ }
+ }));
+
describe("Animations", function() {
it("should properly detect and make use of CSS Animations",
inject(function($animator, $rootScope, $compile, $sniffer) {