blob: c0978562cd12ddeff0b4cf7c101dc00b03bb2edb [file] [log] [blame]
<html>
<head>
<title>Test removal of animation shorthand property</title>
<style type="text/css" media="screen">
.box {
height: 10px;
width: 10px;
background-color: blue;
}
@-webkit-keyframes anim1 { }
</style>
<script type="text/javascript" charset="utf-8">
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
const kProperties = [
"webkitAnimationName",
"webkitAnimationDuration",
"webkitAnimationTimingFunction",
"webkitAnimationDelay",
"webkitAnimationIterationCount",
"webkitAnimationDirection",
"webkitAnimationFillMode"
];
const kElements = [
{ id: "a",
values: [ ]
},
{ id: "b",
values: [ "none", "0s", "ease", "0s", "1", "normal", "none" ]
},
{ id: "c",
values: [ "anim1", "10s" ]
},
{ id: "d",
values: [ "anim1", "10s", "linear" ]
},
{ id: "e",
values: [ "anim1", "10s", "linear", "5s" ]
},
{ id: "f",
values: [ "anim1", "10s", "linear", "5s", "3" ]
},
{ id: "g",
values: [ "anim1", "10s", "linear", "5s", "infinite", "alternate" ]
},
{ id: "h",
values: [ "anim1", "10s", "linear", "5s", "infinite", "alternate", "forwards" ]
}
];
const kExpectedResults = [ "none", "0s", "ease", "0s", "1", "normal", "none" ];
function start() {
kElements.forEach(function(curEl) {
var el = document.getElementById(curEl.id);
for (var i=0; i < curEl.values.length; i++) {
el.style[kProperties[i]] = curEl.values[i];
}
});
setTimeout(remove, 0);
}
function remove() {
kElements.forEach(function(curEl) {
var el = document.getElementById(curEl.id);
el.style.removeProperty("-webkit-animation");
});
setTimeout(test, 0);
}
function test() {
var resultsString = "";
kElements.forEach(function(curEl) {
var el = document.getElementById(curEl.id);
var elStyle = window.getComputedStyle(el);
for (var i=0; i < kProperties.length; i++) {
var computedValue = elStyle[kProperties[i]];
var expectedValue = kExpectedResults[i];
if (computedValue == expectedValue)
resultsString += "Testing " + kProperties[i] + " on " + curEl.id + ": PASS" + "<br>";
else
resultsString += "Testing " + kProperties[i] + " on " + curEl.id + " expected <code>" + expectedValue + "</code> got <code>" + computedValue + "</code>: FAIL" + "<br>";
}
});
var results = document.getElementById('result');
results.innerHTML = resultsString;
if (window.testRunner)
testRunner.notifyDone();
}
window.addEventListener('load', start, false);
</script>
</head>
<body>
<div id="a" class="box"></div>
<div id="b" class="box"></div>
<div id="c" class="box"></div>
<div id="d" class="box"></div>
<div id="e" class="box"></div>
<div id="f" class="box"></div>
<div id="g" class="box"></div>
<div id="h" class="box"></div>
<div id="result">
</div>
</body>
</html>