blob: d0a18b21e55d86c0a0c1c22a7d5c7e39258d74f6 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
</head>
<body>
<div>
<div style="width:500px;height:500px"><div id="test">hello</div></div>
</div>
<script>
'use strict';
// Test the parsing and the computed style values of the animations properties.
var e = document.getElementById('test');
var style = e.style;
var computedStyle = window.getComputedStyle(e, null);
test(() => {
// Test initial value.
assert_equals(computedStyle.animationDelay, '0s');
assert_equals(computedStyle.webkitAnimationDelay, '0s');
style.animationDelay = "0s";
assert_not_equals(Object.keys(style).indexOf('animationDelay'), -1);
assert_not_equals(Object.keys(style).indexOf('webkitAnimationDelay'), -1);
assert_equals(style.animationDelay, '0s');
assert_equals(computedStyle.animationDelay, '0s');
assert_equals(style.webkitAnimationDelay, '0s');
assert_equals(computedStyle.webkitAnimationDelay, '0s');
style.animationDelay = "5s";
assert_equals(style.animationDelay, '5s');
assert_equals(computedStyle.animationDelay, '5s');
assert_equals(style.webkitAnimationDelay, '5s');
assert_equals(computedStyle.webkitAnimationDelay, '5s');
style.animationDelay = "10ms";
assert_equals(style.animationDelay, '10ms');
assert_equals(computedStyle.animationDelay, '0.01s');
assert_equals(style.webkitAnimationDelay, '10ms');
assert_equals(computedStyle.webkitAnimationDelay, '0.01s');
style.animationDelay = "-10ms";
assert_equals(style.animationDelay, '-10ms');
assert_equals(computedStyle.animationDelay, '-0.01s');
assert_equals(style.webkitAnimationDelay, '-10ms');
assert_equals(computedStyle.webkitAnimationDelay, '-0.01s');
style.transitionProperty = "opacity, width";
style.animationDelay = "-10ms, 20s";
assert_equals(style.animationDelay, '-10ms, 20s');
assert_equals(computedStyle.animationDelay, '-0.01s, 20s');
assert_equals(style.webkitAnimationDelay, '-10ms, 20s');
assert_equals(computedStyle.webkitAnimationDelay, '-0.01s, 20s');
}, "Valid animation-delay values.");
test(() => {
style.transitionProperty = "opacity";
style.animationDelay = "";
style.animationDelay = "'5ms'";
assert_equals(style.animationDelay, '');
assert_equals(computedStyle.animationDelay, '0s');
assert_equals(style.webkitAnimationDelay, '');
assert_equals(computedStyle.webkitAnimationDelay, '0s');
style.animationDelay = "30px";
assert_equals(style.animationDelay, '');
assert_equals(computedStyle.animationDelay, '0s');
assert_equals(style.webkitAnimationDelay, '');
assert_equals(computedStyle.webkitAnimationDelay, '0s');
style.animationDelay = "solid";
assert_equals(style.animationDelay, '');
assert_equals(computedStyle.animationDelay, '0s');
assert_equals(style.webkitAnimationDelay, '');
assert_equals(computedStyle.webkitAnimationDelay, '0s');
style.animationDelay = "20";
assert_equals(style.animationDelay, '');
assert_equals(computedStyle.animationDelay, '0s');
assert_equals(style.webkitAnimationDelay, '');
assert_equals(computedStyle.webkitAnimationDelay, '0s');
style.animationDelay = "20%";
assert_equals(style.animationDelay, '');
assert_equals(computedStyle.animationDelay, '0s');
assert_equals(style.webkitAnimationDelay, '');
assert_equals(computedStyle.webkitAnimationDelay, '0s');
style.animationDelay = "0s, 20px";
assert_equals(style.animationDelay, '');
assert_equals(computedStyle.animationDelay, '0s');
assert_equals(style.webkitAnimationDelay, '');
assert_equals(computedStyle.webkitAnimationDelay, '0s');
}, "Invalid animation-delay values.");
test(() => {
// Test initial value.
assert_equals(computedStyle.animationIterationCount, '1');
assert_equals(computedStyle.webkitAnimationIterationCount, '1');
style.animationIterationCount = "4";
assert_not_equals(Object.keys(style).indexOf('animationIterationCount'), -1);
assert_not_equals(Object.keys(style).indexOf('webkitAnimationIterationCount'), -1);
assert_equals(style.animationIterationCount, '4');
assert_equals(computedStyle.animationIterationCount, '4');
assert_equals(style.webkitAnimationIterationCount, '4');
assert_equals(computedStyle.webkitAnimationIterationCount, '4');
style.animationIterationCount = "2.5";
assert_equals(style.animationIterationCount, '2.5');
assert_equals(computedStyle.animationIterationCount, '2.5');
assert_equals(style.webkitAnimationIterationCount, '2.5');
assert_equals(computedStyle.webkitAnimationIterationCount, '2.5');
style.animationIterationCount = "infinite";
assert_equals(style.animationIterationCount, 'infinite');
assert_equals(computedStyle.animationIterationCount, 'infinite');
assert_equals(style.webkitAnimationIterationCount, 'infinite');
assert_equals(computedStyle.webkitAnimationIterationCount, 'infinite');
style.animationIterationCount = "infinite, 3";
assert_equals(style.animationIterationCount, 'infinite, 3');
assert_equals(computedStyle.animationIterationCount, 'infinite, 3');
assert_equals(style.webkitAnimationIterationCount, 'infinite, 3');
assert_equals(computedStyle.webkitAnimationIterationCount, 'infinite, 3');
style.animationIterationCount = "0";
assert_equals(style.animationIterationCount, '0');
assert_equals(computedStyle.animationIterationCount, '0');
assert_equals(style.webkitAnimationIterationCount, '0');
assert_equals(computedStyle.webkitAnimationIterationCount, '0');
style.animationIterationCount = "infinite, infinite";
assert_equals(style.animationIterationCount, 'infinite, infinite');
assert_equals(computedStyle.animationIterationCount, 'infinite, infinite');
assert_equals(style.webkitAnimationIterationCount, 'infinite, infinite');
assert_equals(computedStyle.webkitAnimationIterationCount, 'infinite, infinite');
}, "Valid animation-iteration-count values.");
test(() => {
style.animationIterationCount = "";
style.animationIterationCount = "none";
assert_equals(style.animationIterationCount, '');
assert_equals(computedStyle.animationIterationCount, '1');
assert_equals(style.webkitAnimationIterationCount, '');
assert_equals(computedStyle.webkitAnimationIterationCount, '1');
style.animationIterationCount = "-3";
assert_equals(style.animationIterationCount, '');
assert_equals(computedStyle.animationIterationCount, '1');
assert_equals(style.webkitAnimationIterationCount, '');
assert_equals(computedStyle.webkitAnimationIterationCount, '1');
style.animationIterationCount = "infinite, -3";
assert_equals(style.animationIterationCount, '');
assert_equals(computedStyle.animationIterationCount, '1');
assert_equals(style.webkitAnimationIterationCount, '');
assert_equals(computedStyle.webkitAnimationIterationCount, '1');
style.animationIterationCount = "solid";
assert_equals(style.animationIterationCount, '');
assert_equals(computedStyle.animationIterationCount, '1');
assert_equals(style.webkitAnimationIterationCount, '');
assert_equals(computedStyle.webkitAnimationIterationCount, '1');
style.animationIterationCount = "-1, infinite";
assert_equals(style.animationIterationCount, '');
assert_equals(computedStyle.animationIterationCount, '1');
assert_equals(style.webkitAnimationIterationCount, '');
assert_equals(computedStyle.webkitAnimationIterationCount, '1');
style.animationIterationCount = "-1, 3";
assert_equals(style.animationIterationCount, '');
assert_equals(computedStyle.animationIterationCount, '1');
assert_equals(style.webkitAnimationIterationCount, '');
assert_equals(computedStyle.webkitAnimationIterationCount, '1');
}, "Invalid animation-iteration-count values.");
</script>
</body>
</html>