Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / web-animations-api / w3c / keyframe-properties.html
1 <!doctype html>
2 <title>Web Animations API: Keyframe Property tests</title>
3 <script src="../../resources/testharness.js"></script>
4 <script src="../../resources/testharnessreport.js"></script>
5 <div id="log"></div>
6 <div id="div"></div>
7 <script>
8
9 test(function() {
10   var keyframe = {};
11   Object.defineProperty(keyframe, 'width', {value: '200px'});
12   Object.defineProperty(keyframe, 'height', {
13     value: '100px',
14     enumerable: true});
15   assert_equals(keyframe.width, '200px', 'width of keyframe is readable');
16   assert_equals(keyframe.height, '100px', 'height of keyframe is readable');
17   try {
18     div.animate([keyframe, {height: '200px'}], 1);
19   } catch (e) {
20     assert_unreached("Mismatched properties - both or neither properties on keyframe were considered.");
21   }
22 },
23 'enumerable keyframe properties tests',
24 {
25   help:   'http://dev.w3.org/fxtf/web-animations/#dfn-procedure-for-converting-an-ecmascript-value-to-an-idl-keyframe-object',
26   assert: 'Only enumerable properties on keyframes are considered',
27   author: 'Shane Stephens'
28 });
29
30 test(function() {
31   var KeyframeParent = function() { this.width = "100px"; };
32   KeyframeParent.prototype = { height: "100px" };
33   var Keyframe = function() { this.top = "100px"; };
34   Keyframe.prototype = Object.create(KeyframeParent.prototype);
35   Object.defineProperty(Keyframe.prototype, "left", {
36     value: '100px',
37     enumerable: 'true'});
38   var keyframe = new Keyframe();
39   assert_array_equals(Object.keys(keyframe), ["top"]);
40   try {
41     div.animate([keyframe, {top: '200px'}], 1);
42   } catch (e) {
43     assert_unreached("Mismatched properties - left, width or height considered on keyframe.");
44   }
45 },
46 'inherited keyframe properties tests',
47 {
48   help:   'http://dev.w3.org/fxtf/web-animations/#dfn-procedure-for-converting-an-ecmascript-value-to-an-idl-keyframe-object',
49   assert: 'Only properties in Object.keys on keyframes are considered',
50   author: 'Shane Stephens'
51 });
52
53
54 </script>