OLD | NEW |
| (Empty) |
1 <!DOCTYPE html> | |
2 <meta charset=utf-8> | |
3 <title>duration tests</title> | |
4 <link rel="help" href="http://w3c.github.io/web-animations/#dom-animationeffectt
iming-duration"> | |
5 <link rel="author" title="Ryo Motozawa" href="mailto:motozawa@mozilla-japan.org"
> | |
6 <script src="../../../../resources/testharness.js"></script> | |
7 <script src="../../../../resources/testharnessreport.js"></script> | |
8 <script src="../testcommon.js"></script> | |
9 <body> | |
10 <div id="log"></div> | |
11 <script> | |
12 'use strict'; | |
13 | |
14 test(function(t) { | |
15 var div = createDiv(t); | |
16 var anim = div.animate({ opacity: [ 0, 1 ] }, 2000); | |
17 anim.effect.timing.duration = 123.45; | |
18 assert_approx_equals(anim.effect.timing.duration, 123.45, 0.000001, | |
19 'set duration 123.45'); | |
20 assert_approx_equals(anim.effect.getComputedTiming().duration, 123.45, | |
21 0.000001, | |
22 'getComputedTiming() after set duration 123.45'); | |
23 }, 'set duration 123.45'); | |
24 | |
25 test(function(t) { | |
26 var div = createDiv(t); | |
27 var anim = div.animate({ opacity: [ 0, 1 ] }, 2000); | |
28 anim.effect.timing.duration = 'auto'; | |
29 assert_equals(anim.effect.timing.duration, 'auto', 'set duration \'auto\''); | |
30 assert_equals(anim.effect.getComputedTiming().duration, 0, | |
31 'getComputedTiming() after set duration \'auto\''); | |
32 }, 'set duration auto'); | |
33 | |
34 test(function(t) { | |
35 var div = createDiv(t); | |
36 var anim = div.animate({ opacity: [ 0, 1 ] }, { duration: 'auto' }); | |
37 assert_equals(anim.effect.timing.duration, 'auto', 'set duration \'auto\''); | |
38 assert_equals(anim.effect.getComputedTiming().duration, 0, | |
39 'getComputedTiming() after set duration \'auto\''); | |
40 }, 'set auto duration in animate as object'); | |
41 | |
42 test(function(t) { | |
43 var div = createDiv(t); | |
44 var anim = div.animate({ opacity: [ 0, 1 ] }, 2000); | |
45 anim.effect.timing.duration = Infinity; | |
46 assert_equals(anim.effect.timing.duration, Infinity, 'set duration Infinity'); | |
47 assert_equals(anim.effect.getComputedTiming().duration, Infinity, | |
48 'getComputedTiming() after set duration Infinity'); | |
49 }, 'set duration Infinity'); | |
50 | |
51 test(function(t) { | |
52 var div = createDiv(t); | |
53 assert_throws({ name: 'TypeError' }, function() { | |
54 div.animate({ opacity: [ 0, 1 ] }, -1); | |
55 }); | |
56 }, 'set negative duration in animate using a duration parameter'); | |
57 | |
58 test(function(t) { | |
59 var div = createDiv(t); | |
60 assert_throws({ name: 'TypeError' }, function() { | |
61 div.animate({ opacity: [ 0, 1 ] }, -Infinity); | |
62 }); | |
63 }, 'set negative Infinity duration in animate using a duration parameter'); | |
64 | |
65 test(function(t) { | |
66 var div = createDiv(t); | |
67 assert_throws({ name: 'TypeError' }, function() { | |
68 div.animate({ opacity: [ 0, 1 ] }, NaN); | |
69 }); | |
70 }, 'set NaN duration in animate using a duration parameter'); | |
71 | |
72 test(function(t) { | |
73 var div = createDiv(t); | |
74 assert_throws({ name: 'TypeError' }, function() { | |
75 div.animate({ opacity: [ 0, 1 ] }, { duration: -1 }); | |
76 }); | |
77 }, 'set negative duration in animate using an options object'); | |
78 | |
79 test(function(t) { | |
80 var div = createDiv(t); | |
81 assert_throws({ name: 'TypeError' }, function() { | |
82 div.animate({ opacity: [ 0, 1 ] }, { duration: -Infinity }); | |
83 }); | |
84 }, 'set negative Infinity duration in animate using an options object'); | |
85 | |
86 test(function(t) { | |
87 var div = createDiv(t); | |
88 assert_throws({ name: 'TypeError' }, function() { | |
89 div.animate({ opacity: [ 0, 1 ] }, { duration: NaN }); | |
90 }); | |
91 }, 'set NaN duration in animate using an options object'); | |
92 | |
93 test(function(t) { | |
94 var div = createDiv(t); | |
95 assert_throws({ name: 'TypeError' }, function() { | |
96 div.animate({ opacity: [ 0, 1 ] }, { duration: 'abc' }); | |
97 }); | |
98 }, 'set abc string duration in animate using an options object'); | |
99 | |
100 test(function(t) { | |
101 var div = createDiv(t); | |
102 assert_throws({ name: 'TypeError' }, function() { | |
103 div.animate({ opacity: [ 0, 1 ] }, { duration: '100' }); | |
104 }); | |
105 }, 'set 100 string duration in animate using an options object'); | |
106 | |
107 test(function(t) { | |
108 var div = createDiv(t); | |
109 var anim = div.animate({ opacity: [ 0, 1 ] }, 2000); | |
110 assert_throws({ name: 'TypeError' }, function() { | |
111 anim.effect.timing.duration = -1; | |
112 }); | |
113 }, 'set negative duration'); | |
114 | |
115 test(function(t) { | |
116 var div = createDiv(t); | |
117 var anim = div.animate({ opacity: [ 0, 1 ] }, 2000); | |
118 assert_throws({ name: 'TypeError' }, function() { | |
119 anim.effect.timing.duration = -Infinity; | |
120 }); | |
121 }, 'set negative Infinity duration'); | |
122 | |
123 test(function(t) { | |
124 var div = createDiv(t); | |
125 var anim = div.animate({ opacity: [ 0, 1 ] }, 2000); | |
126 assert_throws({ name: 'TypeError' }, function() { | |
127 anim.effect.timing.duration = NaN; | |
128 }); | |
129 }, 'set NaN duration'); | |
130 | |
131 test(function(t) { | |
132 var div = createDiv(t); | |
133 var anim = div.animate({ opacity: [ 0, 1 ] }, 2000); | |
134 assert_throws({ name: 'TypeError' }, function() { | |
135 anim.effect.timing.duration = 'abc'; | |
136 }); | |
137 }, 'set duration abc'); | |
138 | |
139 test(function(t) { | |
140 var div = createDiv(t); | |
141 var anim = div.animate({ opacity: [ 0, 1 ] }, 2000); | |
142 assert_throws({ name: 'TypeError' }, function() { | |
143 anim.effect.timing.duration = '100'; | |
144 }); | |
145 }, 'set duration string 100'); | |
146 | |
147 | |
148 </script> | |
149 </body> | |
OLD | NEW |