summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/animations/keyframes-cssom-prefixed-02.html
blob: 311c149219a6bda7e09f735026d9d8e7f5346a61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <script src="../resources/js-test.js"></script>
  <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>
</head>
<body>
<script>
description("Test the CSSOM of @-webkit-keyframes.")

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];
shouldBeEqualToString("keyframeRule.toString()", "[object CSSKeyframesRule]");
shouldBe("keyframeRule.type", "7");
shouldBeEqualToString("keyframeRule.name", "anim");
shouldBeEqualToString("keyframeRule.findRule('from').cssText", "0% { left: 200px; }");
shouldBeEqualToString("keyframeRule.findRule('to').cssText", "100% { left: 300px; }");
keyframeRule.deleteRule("from");
shouldBeNull("keyframeRule.findRule('from')");
keyframeRule.appendRule("from { left: 200px; }");
shouldBeEqualToString("keyframeRule.findRule('from').cssText", "0% { left: 200px; }");
shouldBeEqualToString("keyframeRule.cssRules[0].toString()", "[object CSSKeyframeRule]");
shouldBeEqualToString("keyframeRule.cssRules[0].cssText", "100% { left: 300px; }");
shouldBeEqualToString("keyframeRule.cssRules[0].keyText", "100%");
shouldBeEqualToString("keyframeRule.cssRules[0].style.cssText", "left: 300px;");
shouldBeEqualToString("keyframeRule.cssRules[1].toString()", "[object CSSKeyframeRule]");
shouldBeEqualToString("keyframeRule.cssRules[1].cssText", "0% { left: 200px; }");
shouldBeEqualToString("keyframeRule.cssRules[1].keyText", "0%");
shouldBeEqualToString("keyframeRule.cssRules[1].style.cssText", "left: 200px;");

shouldThrow("new CSSKeyframesRule().name", "'TypeError: Illegal constructor'");

document.body.removeChild(testContainer);
</script>
</body>
</html>