Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / web-animations-api / timed-item-specified-getters.html
1 <!DOCTYPE html>
2 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script>
4
5 <body>
6     <div id='e'></div>
7 </body>
8
9 <script>
10 var element = document.getElementById('e');
11 var keyframes = [{opacity: '1', offset: 0}, {opacity: '0', offset: 1}];
12
13 var animationBasic = new Animation(element, keyframes);
14 var specifiedTimingBasic = animationBasic.specified;
15
16 var timingNumberDuration = {duration: 2};
17 var animationNumberDuration = new Animation(element, keyframes, timingNumberDuration);
18 var specifiedTimingNumberDuration = animationNumberDuration.specified;
19
20 var timingNoDuration = {iterations: 3};
21 var animationNoDuration = new Animation(element, keyframes, timingNoDuration);
22 var specifiedTimingNoDuration = animationNoDuration.specified;
23
24 var timingAllFields = {
25     delay: 2,
26     endDelay: 0.5,
27     fill: 'backwards',
28     iterationStart: 2,
29     iterations: 10,
30     duration: 5,
31     playbackRate: 2,
32     direction: 'reverse',
33     easing: 'step-start'
34 };
35 var animationAllFields = new Animation(element, keyframes, timingAllFields);
36 var specifiedTimingAllFields = animationAllFields.specified;
37
38 test(function() {
39     assert_equals(specifiedTimingBasic.constructor, Timing);
40     assert_equals(specifiedTimingBasic.delay, 0);
41     assert_equals(specifiedTimingBasic.endDelay, 0);
42     assert_equals(specifiedTimingBasic.fill, 'auto');
43     assert_equals(specifiedTimingBasic.iterationStart, 0);
44     assert_equals(specifiedTimingBasic.iterations, 1);
45     assert_equals(specifiedTimingBasic.duration, 'auto');
46     assert_equals(specifiedTimingBasic.playbackRate, 1);
47     assert_equals(specifiedTimingBasic.direction, 'normal');
48     assert_equals(specifiedTimingBasic.easing, 'linear');
49 }, 'TimedItem.specified should return a TimedItemTiming, which should have a getter for each member of the underlying Timing object.');
50
51 test(function() {
52     assert_equals(specifiedTimingNumberDuration.duration, 2);
53 }, 'TimedItem.specified.duration should return a number when duration was set as a number.');
54
55 test(function() {
56     assert_equals(specifiedTimingNoDuration.duration, 'auto');
57 }, 'TimedItem.specified.duration should return "auto" when duration was not specified.');
58
59 test(function() {
60     assert_equals(specifiedTimingAllFields.delay, 2);
61     assert_equals(specifiedTimingAllFields.endDelay, 0.5);
62     assert_equals(specifiedTimingAllFields.fill, 'backwards');
63     assert_equals(specifiedTimingAllFields.iterationStart, 2);
64     assert_equals(specifiedTimingAllFields.iterations, 10);
65     assert_equals(specifiedTimingAllFields.duration, 5);
66     assert_equals(specifiedTimingAllFields.playbackRate, 2);
67     assert_equals(specifiedTimingAllFields.direction, 'reverse');
68     assert_equals(specifiedTimingAllFields.easing, 'step-start');
69 }, 'TimedItem.specified should have a getter for each member of the underlying Timing object.');
70 </script>