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

Side by Side Diff: LayoutTests/web-animations-api/w3c/ignored-keyframes.html

Issue 253963002: Web Animations API: Add layout tests for element.animate() keyframes (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Added comment Created 6 years, 5 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <script src="../../resources/testharness.js"></script>
3 <script src="../../resources/testharnessreport.js"></script>
4 <script src="resources/keyframes-test.js"></script>
5 <script>
6 var keyframeA = {opacity: '0', left: '0px'};
7 var keyframeB = {opacity: '0.5', left: '50px'};
8
9 function createBadOffsetKeyframe(offset) {
10 return {opacity: '1', left: '100px', offset: offset};
11 }
12
13 // The interpolation expectations will always be the same because we always
14 // put keyframeA before keyframeB and bad offset keyframes will be ignored.
15 var expectations = {
16 0: {opacity: '0', left: '0px'},
17 0.25: {opacity: '0.125', left: '12.5px'},
18 0.5: {opacity: '0.25', left: '25px'},
19 0.75: {opacity: '0.375', left: '37.5px'},
20 1: {opacity: '0.5', left: '50px'},
21 };
22
23 function testBadOffsetvalues(badOffsets) {
24 badOffsets.forEach(function (badOffset) {
25 var badOffsetKeyframe = createBadOffsetKeyframe(badOffset);
26 var keyframeCases = {
27 'case A': [
28 badOffsetKeyframe,
29 keyframeA,
30 keyframeB,
31 ],
32 'case B': [
33 keyframeA,
34 badOffsetKeyframe,
35 keyframeB,
36 ],
37 'case C': [
38 keyframeA,
39 keyframeB,
40 badOffsetKeyframe,
41 ],
42 'case D': [
43 badOffsetKeyframe,
44 keyframeA,
45 badOffsetKeyframe,
46 keyframeB,
47 badOffsetKeyframe,
48 ],
49 };
50 for (var caseLabel in keyframeCases) {
51 assertAnimationStyles(keyframeCases[caseLabel], expectations, caseLabel);
52 }
53 });
54 }
55
56 test(function() {
57 testBadOffsetvalues(['garbage', NaN, undefined, {non: 'number'}]);
58 },
59 'element.animate() with keyframes that have non-numeric offset values',
60 {
61 help: 'http://dev.w3.org/fxtf/web-animations/#the-keyframe-dictionary',
62 assert: [
63 'element.animate() should start an animation when keyframes have non-numeric offset values.',
64 'Keyframes with non-numeric offsets should be ignored as input.',
65 ],
66 author: 'Alan Cutter',
67 });
68
69 test(function() {
70 testBadOffsetvalues([-0.1, -Math.PI, -1, Math.PI, 400, 2200]);
71 },
72 'element.animate() with keyframes that have offset values beyond the range [0, 1 ]',
73 {
74 help: 'http://dev.w3.org/fxtf/web-animations/#the-keyframe-dictionary',
75 assert: [
76 'element.animate() should start an animation when keyframes have offset valu es beyond the range [0, 1].',
77 'Keyframes with offsets beyond the range [0, 1] should be ignored as input.' ,
78 ],
79 author: 'Alan Cutter',
80 });
81 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698