| OLD | NEW |
| 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" | 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" |
| 2 "http://www.w3.org/TR/html4/loose.dtd"> | 2 "http://www.w3.org/TR/html4/loose.dtd"> |
| 3 | 3 |
| 4 <html lang="en"> | 4 <html lang="en"> |
| 5 <head> | 5 <head> |
| 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
| 7 <title>Keyframes test</title> | 7 <title>Keyframes with invalid keys</title> |
| 8 <style type="text/css" media="screen"> | 8 <style type="text/css" media="screen"> |
| 9 @-webkit-keyframes "anim" { |
| 10 50% { left: 3px; } |
| 11 |
| 12 /* Out-of-range percentage values */ |
| 13 -10% { left: 100px; } |
| 14 -10%, from { left: 100px; } |
| 15 from, 110% { left: 100px; } |
| 16 110% { left: 100px; } |
| 17 |
| 18 /* Invalid keys (numbers and identifiers) */ |
| 19 0, from { left: 100px; } |
| 20 fromto { left: 100px; } |
| 21 60%, unknown { left: 100px; } |
| 22 100 { left: 100px; } |
| 23 } |
| 9 #box { | 24 #box { |
| 10 position: absolute; | 25 position: absolute; |
| 11 left: 0; | 26 left: 3px; |
| 12 top: 100px; | 27 top: 100px; |
| 13 height: 100px; | 28 height: 100px; |
| 14 width: 100px; | 29 width: 100px; |
| 15 background-color: blue; | 30 background-color: blue; |
| 16 -webkit-animation-duration: 1s; | 31 -webkit-animation-duration: 1s; |
| 17 -webkit-animation-timing-function: linear; | 32 -webkit-animation-timing-function: linear; |
| 18 -webkit-animation-name: "anim"; | 33 -webkit-animation-name: "anim"; |
| 19 } | 34 } |
| 20 @-webkit-keyframes "anim" { | 35 |
| 21 from { left: 50px; } | |
| 22 20% { left: 100px; } | |
| 23 40% { left: 100px; } | |
| 24 60% { left: 200px; } | |
| 25 80% { left: 200px; } | |
| 26 to { left: 300px; } | |
| 27 } | |
| 28 </style> | 36 </style> |
| 29 <script src="resources/animation-test-helpers.js" type="text/javascript" cha
rset="utf-8"></script> | 37 <script src="resources/animation-test-helpers.js" type="text/javascript" cha
rset="utf-8"></script> |
| 30 <script type="text/javascript" charset="utf-8"> | 38 <script type="text/javascript" charset="utf-8"> |
| 31 | 39 |
| 32 const expectedValues = [ | 40 const expectedValues = [ |
| 33 // [animation-name, time, element-id, property, expected-value, tolerance] | 41 // [animation-name, time, element-id, property, expected-value, tolerance] |
| 34 ["anim", 0.3, "box", "left", 100, 1], | 42 ["anim", 0.2, "box", "left", 3, 1], |
| 35 ["anim", 0.7, "box", "left", 200, 1], | 43 ["anim", 0.8, "box", "left", 3, 1], |
| 36 ]; | 44 ]; |
| 37 | 45 |
| 38 runAnimationTest(expectedValues); | 46 runAnimationTest(expectedValues); |
| 39 | 47 |
| 40 </script> | 48 </script> |
| 41 </head> | 49 </head> |
| 42 <body> | 50 <body> |
| 43 This test performs an animation of the left property. It should stop for 100ms a
t 100px and 200px | 51 This test performs an animation of the left property. It should always remain 3p
x, unless there are |
| 44 We test for those values 50ms after it has stopped at each position. | 52 errors during parsing, resulting in other values in keyframes with bad keys. |
| 53 Four of the keyframes contain invalid keys, and should be discarded altogether |
| 54 ("If a keyframe selector specifies negative percentage values or values higher t
han 100%, then the keyframe will be ignored", see <a href="http://www.w3.org/TR/
css3-animations/#keyframes">http://www.w3.org/TR/css3-animations/#keyframes</a>)
. |
| 45 <div id="box"> | 55 <div id="box"> |
| 46 </div> | 56 </div> |
| 47 <div id="result"> | 57 <div id="result"> |
| 48 </div> | 58 </div> |
| 49 </body> | 59 </body> |
| 50 </html> | 60 </html> |
| OLD | NEW |