@@ -9,11 +9,20 @@ suite('timing-utilities', function() {
9
9
assert . equal ( calculateActiveDuration ( { duration : 500 , playbackRate : 0.1 , iterations : 300 } ) , 1500000 ) ;
10
10
} ) ;
11
11
test ( 'conversion of timing functions' , function ( ) {
12
- var f = toTimingFunction ( 'ease' ) ;
13
- var g = toTimingFunction ( 'cubic-bezier(.25, 0.1, 0.25, 1.)' ) ;
14
- for ( var i = 0 ; i < 1 ; i += 0.1 ) {
15
- assert . equal ( f ( i ) , g ( i ) ) ;
12
+ function assertTimingFunctionsEqual ( tf1 , tf2 , message ) {
13
+ for ( var i = 0 ; i <= 1 ; i += 0.1 ) {
14
+ assert . closeTo ( tf1 ( i ) , tf2 ( i ) , 0.01 , message ) ;
15
+ }
16
16
}
17
+
18
+ assertTimingFunctionsEqual (
19
+ toTimingFunction ( 'ease-in-out' ) ,
20
+ toTimingFunction ( 'eAse\\2d iN-ouT' ) ,
21
+ 'Should accept arbitrary casing and escape chararcters' ) ;
22
+
23
+ var f = toTimingFunction ( 'ease' ) ;
24
+ var g = toTimingFunction ( 'cubic-bezier(.25, 0.1, 0.25, 1.0)' ) ;
25
+ assertTimingFunctionsEqual ( f , g , 'ease should map onto preset cubic-bezier' ) ;
17
26
assert . closeTo ( f ( 0.1844 ) , 0.2601 , 0.01 ) ;
18
27
assert . closeTo ( g ( 0.1844 ) , 0.2601 , 0.01 ) ;
19
28
assert . equal ( f ( 0 ) , 0 ) ;
@@ -24,25 +33,18 @@ suite('timing-utilities', function() {
24
33
f = toTimingFunction ( 'cubic-bezier(0, 1, 1, 0)' ) ;
25
34
assert . closeTo ( f ( 0.104 ) , 0.392 , 0.01 ) ;
26
35
27
- function isLinear ( f ) {
28
- assert . equal ( f ( 0 ) , 0 ) ;
29
- assert . equal ( f ( 0.1 ) , 0.1 ) ;
30
- assert . equal ( f ( 0.4 ) , 0.4 ) ;
31
- assert . equal ( f ( 0.9 ) , 0.9 ) ;
32
- assert . equal ( f ( 1 ) , 1 ) ;
36
+ function assertIsLinear ( easing ) {
37
+ var f = toTimingFunction ( easing ) ;
38
+ for ( var i = 0 ; i <= 1 ; i += 0.1 ) {
39
+ assert . equal ( f ( i ) , i , easing + ' is linear' ) ;
40
+ }
33
41
}
34
42
35
- f = toTimingFunction ( 'cubic-bezier(0, 1, -1, 1)' ) ;
36
- isLinear ( f ) ;
37
-
38
- f = toTimingFunction ( 'an elephant' ) ;
39
- isLinear ( f ) ;
40
-
41
- f = toTimingFunction ( 'cubic-bezier(-1, 1, 1, 1)' ) ;
42
- isLinear ( f ) ;
43
-
44
- f = toTimingFunction ( 'cubic-bezier(1, 1, 1)' ) ;
45
- isLinear ( f ) ;
43
+ assertIsLinear ( 'cubic-bezier(.25, 0.1, 0.25, 1.)' ) ;
44
+ assertIsLinear ( 'cubic-bezier(0, 1, -1, 1)' ) ;
45
+ assertIsLinear ( 'an elephant' ) ;
46
+ assertIsLinear ( 'cubic-bezier(-1, 1, 1, 1)' ) ;
47
+ assertIsLinear ( 'cubic-bezier(1, 1, 1)' ) ;
46
48
47
49
f = toTimingFunction ( 'steps(10, end)' ) ;
48
50
assert . equal ( f ( 0 ) , 0 ) ;
0 commit comments