Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(72)

Side by Side Diff: LayoutTests/web-animations-api/element-animate-list-of-keyframes.html

Issue 190763007: [WIP] Web Animations API: Constructing an Animation from partial keyframes throws a JS exception (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add FIXME for keyframes at 0 and 1. Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <script src="../resources/testharness.js"></script> 2 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script> 3 <script src="../resources/testharnessreport.js"></script>
4 4
5 <style> 5 <style>
6 .anim { 6 .anim {
7 position: absolute; 7 position: absolute;
8 left: 10px; 8 left: 10px;
9 height: 90px; 9 height: 90px;
10 width: 100px; 10 width: 100px;
11 background-color: black; 11 background-color: black;
12 } 12 }
13 </style> 13 </style>
14 14
15 <body> 15 <body>
16 <div id='e1' class='anim'></div> 16 <div id='e1' class='anim'></div>
17 <div id='e2' class='anim'></div> 17 <div id='e2' class='anim'></div>
18 <div id='e3' class='anim'></div> 18 <div id='e3' class='anim'></div>
19 <div id='e4' class='anim'></div>
19 </body> 20 </body>
20 21
21 <script> 22 <script>
22 var e1 = document.getElementById('e1'); 23 var e1 = document.getElementById('e1');
23 var e2 = document.getElementById('e2'); 24 var e2 = document.getElementById('e2');
24 var e3 = document.getElementById('e3'); 25 var e3 = document.getElementById('e3');
26 var e4 = document.getElementById('e4');
25 27
26 var e1Style = getComputedStyle(e1); 28 var e1Style = getComputedStyle(e1);
27 var e2Style = getComputedStyle(e2); 29 var e2Style = getComputedStyle(e2);
28 var e3Style = getComputedStyle(e3); 30 var e3Style = getComputedStyle(e3);
29 31
30 var durationValue = 1; 32 var durationValue = 1;
31 33
32 test(function() { 34 test(function() {
33 var player = e1.animate([ 35 var player = e1.animate([
34 {left: '10px', opacity: '1', offset: 0}, 36 {left: '10px', opacity: '1', offset: 0},
35 {left: '100px', opacity: '0', offset: 1} 37 {left: '100px', opacity: '0', offset: 1}
36 ], durationValue).player; 38 ], durationValue).player;
37 player.pause(); 39 player.pause();
38 player.currentTime = durationValue / 2; 40 player.currentTime = durationValue / 2;
39 assert_equals(e1Style.left, '55px'); 41 assert_equals(e1Style.left, '55px');
40 assert_equals(e1Style.opacity, '0.5'); 42 assert_equals(e1Style.opacity, '0.5');
41 }, 'Calling animate() should start an animation.'); 43 }, 'Calling animate() should start an animation.');
42 44
43 test(function() { 45 test(function() {
44 var player = e2.animate([ 46 var player = e2.animate([
45 {backgroundColor: 'green', offset: 0}, 47 {backgroundColor: 'green', offset: 0},
46 {backgroundColor: 'purple', offset: 1} 48 {backgroundColor: 'purple', offset: 1}
47 ], durationValue).player; 49 ], durationValue).player;
48 player.pause(); 50 player.pause();
49 player.currentTime = durationValue / 2; 51 player.currentTime = durationValue / 2;
50 assert_equals(e2Style.backgroundColor, 'rgb(64, 64, 64)'); 52 assert_equals(e2Style.backgroundColor, 'rgb(64, 64, 64)');
51 }, 'Calling animate() should start an animation. CamelCase property names should be parsed.'); 53 }, 'Calling animate() should start an animation. CamelCase property names should be parsed.');
52 54
53 var keyframesWithInvalid = [ 55 var keyframesWithInvalid = [
54 {offset: 0.1}, 56 {offset: 0},
55 {width: '0px', backgroundColor: 'octarine', offset: 0.2}, 57 {width: '0px', backgroundColor: 'octarine', offset: 0.2},
56 {width: '1000px', foo: 'bar', offset: 1} 58 {width: '1000px', foo: 'bar', offset: 1}
57 ]; 59 ];
58 60
59 test(function() { 61 test(function() {
60 var player = e3.animate(keyframesWithInvalid, {duration: durationValue, fill : 'forwards'}).player; 62 var player = e3.animate(keyframesWithInvalid, {duration: durationValue, fill : 'forwards'}).player;
61 player.pause(); 63 player.pause();
62 player.currentTime = durationValue; 64 player.currentTime = durationValue;
63 assert_equals(e3Style.width, '1000px'); 65 assert_equals(e3Style.width, '1000px');
64 assert_equals(e3Style.backgroundColor, 'rgb(0, 0, 0)'); 66 assert_equals(e3Style.backgroundColor, 'rgb(0, 0, 0)');
65 assert_equals(e3Style.foo, undefined); 67 assert_equals(e3Style.foo, undefined);
66 }, 'Calling animate() with a pre-constructed keyframes list should start an anim ation. Invalid style declarations should be ignored.'); 68 }, 'Calling animate() with a pre-constructed keyframes list should start an anim ation. Invalid style declarations should be ignored.');
67 </script> 69 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698