blob: 868d112ec815c90f9bc8d58d1c5ee09fb1cec2f7 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" media="screen">
#test {
position: absolute;
left: 0;
top: 100px;
height: 100px;
width: 100px;
background-color: blue;
animation-duration: 1s;
animation-timing-function: linear;
animation-name: anim;
animation-fill-mode: forwards;
}
</style>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
async_test(t => {
window.addEventListener("load", t.step_func_done(() => {
var testContainer = document.createElement("div");
document.body.appendChild(testContainer);
testContainer.innerHTML = '<div style="width:500px;height:500px"><div id="test">hello</div></div>';
e = document.getElementById('test');
var lastSheet = document.styleSheets[document.styleSheets.length - 1];
lastSheet.insertRule("@-webkit-keyframes anim { from { left: 200px; } to { left: 300px;} }", lastSheet.cssRules.length);
var keyframeRule = lastSheet.cssRules[lastSheet.cssRules.length - 1];
assert_equals(keyframeRule.toString(), "[object CSSKeyframesRule]");
assert_equals(keyframeRule.type, 7);
assert_equals(keyframeRule.name, "anim");
assert_equals(keyframeRule.findRule('from').cssText, "0% { left: 200px; }");
assert_equals(keyframeRule.findRule('to').cssText, "100% { left: 300px; }");
keyframeRule.deleteRule("from");
assert_equals(keyframeRule.findRule('from'), null);
keyframeRule.appendRule("from { left: 200px; }");
assert_equals(keyframeRule.findRule('from').cssText, "0% { left: 200px; }");
assert_equals(keyframeRule.cssRules[0].toString(), "[object CSSKeyframeRule]");
assert_equals(keyframeRule.cssRules[0].cssText, "100% { left: 300px; }");
assert_equals(keyframeRule.cssRules[0].keyText, "100%");
assert_equals(keyframeRule.cssRules[0].style.cssText, "left: 300px;");
assert_equals(keyframeRule.cssRules[1].toString(), "[object CSSKeyframeRule]");
assert_equals(keyframeRule.cssRules[1].cssText, "0% { left: 200px; }");
assert_equals(keyframeRule.cssRules[1].keyText, "0%");
assert_equals(keyframeRule.cssRules[1].style.cssText, "left: 200px;");
try {
new CSSKeyframesRule().name;
} catch (e) {
assert_equals(e.message, "Illegal constructor");
}
document.body.removeChild(testContainer);
}));
}, "Test the CSSOM of @-webkit-keyframes");
</script>
</body>
</html>