UNPKG

five-bells-visualization

Version:
54 lines (49 loc) 1.91 kB
<!doctype html> <title>Web Animations API: Keyframe Property tests</title> <script src="testharness/testharness.js"></script> <script src="testharness/testharnessreport.js"></script> <div id="log"></div> <div id="div"></div> <script> test(function() { var keyframe = {}; Object.defineProperty(keyframe, 'width', {value: '200px'}); Object.defineProperty(keyframe, 'height', { value: '100px', enumerable: true}); assert_equals(keyframe.width, '200px', 'width of keyframe is readable'); assert_equals(keyframe.height, '100px', 'height of keyframe is readable'); try { div.animate([keyframe, {height: '200px'}], 1); } catch (e) { assert_unreached("Mismatched properties - both or neither properties on keyframe were considered."); } }, 'enumerable keyframe properties tests', { help: 'http://dev.w3.org/fxtf/web-animations/#dfn-procedure-for-converting-an-ecmascript-value-to-an-idl-keyframe-object', assert: 'Only enumerable properties on keyframes are considered', author: 'Shane Stephens' }); test(function() { var KeyframeParent = function() { this.width = "100px"; }; KeyframeParent.prototype = { height: "100px" }; var Keyframe = function() { this.top = "100px"; }; Keyframe.prototype = Object.create(KeyframeParent.prototype); Object.defineProperty(Keyframe.prototype, "left", { value: '100px', enumerable: 'true'}); var keyframe = new Keyframe(); try { div.animate([keyframe, {top: '200px', left: '200px', height: '200px'}], 1); } catch (e) { assert_unreached("Mismatched properties - left, width or height not considered on keyframe."); } }, 'inherited keyframe properties tests', { help: 'http://dev.w3.org/fxtf/web-animations/#dfn-procedure-for-converting-an-ecmascript-value-to-an-idl-keyframe-object', assert: 'Only properties in Object.keys on keyframes are considered', author: 'Shane Stephens' }); </script>