diff options
| author | Matias Niemelä | 2013-05-13 17:37:52 -0400 |
|---|---|---|
| committer | Igor Minar | 2013-05-16 16:17:46 -0700 |
| commit | c53d4c94300c97dd005f9a0cbdbfa387294b9026 (patch) | |
| tree | cc532da5b9f1f89afd263cd23921e86251568152 /test/ng/animatorSpec.js | |
| parent | 24ed61cf5c56f236a31069e60fbfdd3b578fbef3 (diff) | |
| download | angular.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.js | 70 |
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) { |
