e76dbfd2cd9f8f9911d3358900810b2a4f65e8ae
[WebKit-https.git] / LayoutTests / animations / animation-direction-reverse-non-hardware.html
1 <!doctype html><!-- webkit-test-runner [ enableCSSAnimationsAndCSSTransitionsBackedByWebAnimations=true ] -->
2 <html>
3 <head>
4   <title>Test of -webkit-animation-direction reverse on non-composited elements</title>
5   <style>
6     body {
7       margin: 0;
8     }
9
10     .box {
11       position: relative;
12       left: 20px;
13       top: 10px;
14       height: 50px;
15       width: 250px;
16       margin-bottom: 10px;
17       -webkit-animation-duration: 2s;
18       -webkit-animation-timing-function: linear;
19       -webkit-animation-iteration-count: 8;
20     }
21     
22     .move1 {
23       -webkit-animation-name: move1;
24       background-color: blue;
25       color: white;
26     }
27
28     .move2 {
29       -webkit-animation-name: move2;
30       background-color: orange;
31     }
32
33     .normal {
34       -webkit-animation-direction: normal;
35     }
36
37     .alternate {
38       -webkit-animation-direction: alternate;
39     }
40
41     .reverse {
42       -webkit-animation-direction: reverse;
43     }
44
45     .alternate-reverse {
46       -webkit-animation-direction: alternate-reverse;
47     }
48     
49     @-webkit-keyframes move1 {
50       from { left: 0px; }
51       to { left: 200px; }
52     }
53
54     @-webkit-keyframes move2 {
55       0% { left: 0px; }
56       40% { left: 160px; }
57       60% { left: 120px; }
58       100% { left: 200px; }
59     }
60   </style>
61   <script src="resources/animation-test-helpers.js"></script>
62   <script>
63     const expectedValues = [
64       // [animation-name, time, element-id, property, expected-value, tolerance]
65       ["move1", 0.2, "box1", "left",  20, 20],
66       ["move1", 0.2, "box2", "left",  20, 20],
67       ["move1", 0.2, "box3", "left",  180, 20],
68       ["move1", 0.2, "box4", "left",  180, 20],
69       ["move1", 2.2, "box1", "left",  20, 20],
70       ["move1", 2.2, "box2", "left",  180, 20],
71       ["move1", 2.2, "box3", "left",  180, 20],
72       ["move1", 2.2, "box4", "left",  20, 20],
73       ["move2", 0.2, "box5", "left",  40, 20],
74       ["move2", 0.2, "box6", "left",  40, 20],
75       ["move2", 0.2, "box7", "left",  180, 20],
76       ["move2", 0.2, "box8", "left",  180, 20],
77       ["move2", 2.2, "box5", "left",  40, 20],
78       ["move2", 2.2, "box6", "left",  180, 20],
79       ["move2", 2.2, "box7", "left",  180, 20],
80       ["move2", 2.2, "box8", "left",  40, 20],
81     ];
82
83     runAnimationTest(expectedValues);
84
85   </script>
86 </head>
87 <body>
88 <div id="box1" class="box move1 normal">2 keyframes: normal</div>
89 <div id="box2" class="box move1 alternate">2 keyframes: alternate</div>
90 <div id="box3" class="box move1 reverse">2 keyframes: reverse</div>
91 <div id="box4" class="box move1 alternate-reverse">2 keyframes: alternate-reverse</div>
92 <div id="box5" class="box move2 normal">4 keyframes: normal</div>
93 <div id="box6" class="box move2 alternate">4 keyframes: alternate</div>
94 <div id="box7" class="box move2 reverse">4 keyframes: reverse</div>
95 <div id="box8" class="box move2 alternate-reverse">4 keyframes: alternate-reverse</div>
96 <div id="result"></div>
97 </div>
98 </body>
99 </html>