blob: c9eb94dccc46d10d46dee55b1297807be1199bc4 [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.animationName, 'none');
assert_equals(computedStyle.webkitAnimationName, 'none');
style.animationName = "none";
assert_not_equals(Object.keys(style).indexOf('animationName'), -1);
assert_not_equals(Object.keys(style).indexOf('webkitAnimationName'), -1);
assert_equals(style.animationName, 'none');
assert_equals(computedStyle.animationName, 'none');
assert_equals(style.webkitAnimationName, 'none');
assert_equals(computedStyle.webkitAnimationName, 'none');
style.animationName = "none, none";
assert_equals(style.animationName, 'none, none');
assert_equals(computedStyle.animationName, 'none, none');
assert_equals(style.webkitAnimationName, 'none, none');
assert_equals(computedStyle.webkitAnimationName, 'none, none');
style.animationName = "myAnim";
assert_equals(style.animationName, 'myAnim');
assert_equals(computedStyle.animationName, 'myAnim');
assert_equals(style.webkitAnimationName, 'myAnim');
assert_equals(computedStyle.webkitAnimationName, 'myAnim');
style.animationName = "background-position, font-size";
assert_equals(style.animationName, 'background-position, font-size');
assert_equals(computedStyle.animationName, 'background-position, font-size');
assert_equals(style.webkitAnimationName, 'background-position, font-size');
assert_equals(computedStyle.webkitAnimationName, 'background-position, font-size');
style.animationName = "background-position, font-size, color";
assert_equals(style.animationName, 'background-position, font-size, color');
assert_equals(computedStyle.animationName, 'background-position, font-size, color');
assert_equals(style.webkitAnimationName, 'background-position, font-size, color');
assert_equals(computedStyle.webkitAnimationName, 'background-position, font-size, color');
style.animationName = "all, font-size, color";
assert_equals(style.animationName, 'all, font-size, color');
assert_equals(computedStyle.animationName, 'all, font-size, color');
assert_equals(style.webkitAnimationName, 'all, font-size, color');
assert_equals(computedStyle.webkitAnimationName, 'all, font-size, color');
style.animationName = "inherit";
assert_equals(style.animationName, 'inherit');
assert_equals(computedStyle.animationName, 'none');
assert_equals(style.webkitAnimationName, 'inherit');
assert_equals(computedStyle.webkitAnimationName, 'none');
style.animationName = "initial";
assert_equals(style.animationName, 'initial');
assert_equals(computedStyle.animationName, 'none');
assert_equals(style.webkitAnimationName, 'initial');
assert_equals(computedStyle.webkitAnimationName, 'none');
}, "Valid animation-name values.");
test(() => {
style.animationName = "";
style.animationName = "0";
assert_equals(style.animationName, '');
assert_equals(computedStyle.animationName, 'none');
assert_equals(style.webkitAnimationName, '');
assert_equals(computedStyle.webkitAnimationName, 'none');
style.animationName = "all none";
assert_equals(style.animationName, '');
assert_equals(computedStyle.animationName, 'none');
assert_equals(style.webkitAnimationName, '');
assert_equals(computedStyle.webkitAnimationName, 'none');
style.animationName = "opacity width";
assert_equals(style.animationName, '');
assert_equals(computedStyle.animationName, 'none');
assert_equals(style.webkitAnimationName, '');
assert_equals(computedStyle.webkitAnimationName, 'none');
style.animationName = "";
}, "Invalid animation-name values.");
test(() => {
// Test initial value.
assert_equals(computedStyle.animationDuration, '0s');
assert_equals(computedStyle.webkitAnimationDuration, '0s');
style.animationDuration = "0s";
assert_not_equals(Object.keys(style).indexOf('animationDuration'), -1);
assert_not_equals(Object.keys(style).indexOf('webkitAnimationDuration'), -1);
assert_equals(style.animationDuration, '0s');
assert_equals(computedStyle.animationDuration, '0s');
assert_equals(style.webkitAnimationDuration, '0s');
assert_equals(computedStyle.webkitAnimationDuration, '0s');
style.animationDuration = "5s";
assert_equals(style.animationDuration, '5s');
assert_equals(computedStyle.animationDuration, '5s');
assert_equals(style.webkitAnimationDuration, '5s');
assert_equals(computedStyle.webkitAnimationDuration, '5s');
style.animationDuration = "10ms";
assert_equals(style.animationDuration, '10ms');
assert_equals(computedStyle.animationDuration, '0.01s');
assert_equals(style.webkitAnimationDuration, '10ms');
assert_equals(computedStyle.webkitAnimationDuration, '0.01s');
style.animationDuration = "10ms, 20s";
assert_equals(style.animationDuration, '10ms, 20s');
assert_equals(computedStyle.animationDuration, '0.01s, 20s');
assert_equals(style.webkitAnimationDuration, '10ms, 20s');
assert_equals(computedStyle.webkitAnimationDuration, '0.01s, 20s');
}, "Valid animation-duration values.");
test(() => {
style.animationDuration = "";
// Negative values are invalid.
style.animationDuration = "-10ms";
assert_equals(style.animationDuration, '');
assert_equals(computedStyle.animationDuration, '0s');
assert_equals(style.webkitAnimationDuration, '');
assert_equals(computedStyle.webkitAnimationDuration, '0s');
style.animationDuration = "'5ms'";
assert_equals(style.animationDuration, '');
assert_equals(computedStyle.animationDuration, '0s');
assert_equals(style.webkitAnimationDuration, '');
assert_equals(computedStyle.webkitAnimationDuration, '0s');
style.animationDuration = "30px";
assert_equals(style.animationDuration, '');
assert_equals(computedStyle.animationDuration, '0s');
assert_equals(style.webkitAnimationDuration, '');
assert_equals(computedStyle.webkitAnimationDuration, '0s');
style.animationDuration = "solid";
assert_equals(style.animationDuration, '');
assert_equals(computedStyle.animationDuration, '0s');
assert_equals(style.webkitAnimationDuration, '');
assert_equals(computedStyle.webkitAnimationDuration, '0s');
style.animationDuration = "20";
assert_equals(style.animationDuration, '');
assert_equals(computedStyle.animationDuration, '0s');
assert_equals(style.webkitAnimationDuration, '');
assert_equals(computedStyle.webkitAnimationDuration, '0s');
style.animationDuration = "20%";
assert_equals(style.animationDuration, '');
assert_equals(computedStyle.animationDuration, '0s');
assert_equals(style.webkitAnimationDuration, '');
assert_equals(computedStyle.webkitAnimationDuration, '0s');
style.animationDuration = "0s, 20px";
assert_equals(style.animationDuration, '');
assert_equals(computedStyle.animationDuration, '0s');
assert_equals(style.webkitAnimationDuration, '');
assert_equals(computedStyle.webkitAnimationDuration, '0s');
}, "Invalid animation-duration values.");
</script>
</body>
</html>