|
4 | 4 | /* global QUnit */ |
5 | 5 |
|
6 | 6 | import { AnimationClip } from '../../../../src/animation/AnimationClip'; |
| 7 | +import { NumberKeyframeTrack } from '../../../../src/animation/tracks/NumberKeyframeTrack'; |
7 | 8 |
|
8 | 9 | export default QUnit.module( 'Animation', () => { |
9 | 10 |
|
@@ -66,9 +67,38 @@ export default QUnit.module( 'Animation', () => { |
66 | 67 |
|
67 | 68 | } ); |
68 | 69 |
|
69 | | - QUnit.todo( "optimize", ( assert ) => { |
| 70 | + QUnit.test( 'optimize', ( assert ) => { |
70 | 71 |
|
71 | | - assert.ok( false, "everything's gonna be alright" ); |
| 72 | + var track = new NumberKeyframeTrack( '.material.opacity', [ 0, 1, 2, 3, 4 ], [ 0, 0, 0, 0, 1 ] ); |
| 73 | + var clip = new AnimationClip( 'fadeIn', 4, [ track ] ); |
| 74 | + |
| 75 | + assert.equal( clip.tracks[0].values.length, 5 ); |
| 76 | + |
| 77 | + clip.isOptimized = true; |
| 78 | + clip.optimize(); |
| 79 | + |
| 80 | + assert.equal( clip.tracks[0].values.length, 5 ); |
| 81 | + |
| 82 | + clip.isOptimized = false; |
| 83 | + clip.optimize(); |
| 84 | + |
| 85 | + assert.equal( clip.tracks[0].values.length, 3 ); |
| 86 | + |
| 87 | + } ); |
| 88 | + |
| 89 | + QUnit.test( 'validate', ( assert ) => { |
| 90 | + |
| 91 | + var track = new NumberKeyframeTrack( '.material.opacity', [ 0, 1 ], [ 0, NaN ] ); |
| 92 | + var clip = new AnimationClip( 'fadeIn', 1, [ track ] ); |
| 93 | + |
| 94 | + track.validate = () => { throw new Error('Validation should not be called.') }; |
| 95 | + clip.isValidated = true; |
| 96 | + clip.validate(); |
| 97 | + |
| 98 | + delete track.validate; |
| 99 | + clip.isValidated = false; |
| 100 | + clip.validate(); |
| 101 | + assert.ok( clip.isValidated ); |
72 | 102 |
|
73 | 103 | } ); |
74 | 104 |
|
|
0 commit comments