6a513bcebb3f70168f8f33ac0c27f9a6ec2f7547
[WebKit-https.git] / LayoutTests / animations / keyframes-invalid-keys.html
1 <!DOCTYPE html><!-- webkit-test-runner [ enableCSSAnimationsAndCSSTransitionsBackedByWebAnimations=true ] -->
2 <html lang="en">
3 <head>
4   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5   <title>Keyframes with invalid keys</title>
6   <style type="text/css" media="screen">
7     @-webkit-keyframes "anim" {
8         50% { left: 3px; }
9
10         /* Out-of-range percentage values */
11         -10% { left: 100px; }
12         -10%, from { left: 100px; }
13         from, 110% { left: 100px; }
14         110% { left: 100px; }
15
16         /* Invalid keys (numbers and identifiers) */
17         0, from { left: 100px; }
18         fromto { left: 100px; }
19         60%, unknown { left: 100px; }
20         100 { left: 100px; }
21     }
22     #box {
23         position: absolute;
24         left: 3px;
25         top: 100px;
26         height: 100px;
27         width: 100px;
28         background-color: blue;
29         -webkit-animation-duration: 1s;
30         -webkit-animation-timing-function: linear;
31         -webkit-animation-name: "anim";
32     }
33
34     </style>
35     <script src="resources/animation-test-helpers.js" type="text/javascript" charset="utf-8"></script>
36     <script type="text/javascript" charset="utf-8">
37
38     const expectedValues = [
39       // [animation-name, time, element-id, property, expected-value, tolerance]
40       ["anim", 0.2, "box", "left", 3, 1],
41       ["anim", 0.8, "box", "left", 3, 1],
42     ];
43
44     runAnimationTest(expectedValues);
45
46   </script>
47 </head>
48 <body>
49 This test performs an animation of the left property. It should always remain 3px, unless there are
50 errors during parsing, resulting in other values in keyframes with bad keys.
51 Four of the keyframes contain invalid keys, and should be discarded altogether
52 ("If a keyframe selector specifies negative percentage values or values higher than 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>).
53 <div id="box">
54 </div>
55 <div id="result">
56 </div>
57 </body>
58 </html>