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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
This tests the CSSKeyframeRule and CSSKeyframesRule interfaces.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
Constants
PASS CSSKeyframeRule exists on Window object
PASS CSSKeyframesRule exists on Window object
PASS WEBKIT_KEYFRAME_RULE exists on Window.CSSRule object
PASS WEBKIT_KEYFRAMES_RULE exists on Window.CSSRule object
PASS KEYFRAME_RULE exists on Window.CSSRule object
PASS KEYFRAMES_RULE exists on Window.CSSRule object
Basic queries
PASS keyframes1.type is window.CSSRule.WEBKIT_KEYFRAMES_RULE
PASS keyframes1.name is 'test1'
PASS rules1.length is 2
PASS rules1.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules1.item(0).cssText is '0% { left: 10px; }'
PASS rules1.item(1).cssText is '100% { left: 20px; }'
Insert new rules
PASS rules1.length is 5
PASS rules1.item(0).cssText is '0% { left: 10px; }'
PASS rules1.item(1).cssText is '100% { left: 20px; }'
PASS rules1.item(2).cssText is '30% { left: 30px; }'
PASS rules1.item(3).cssText is '60% { left: 60px; }'
PASS rules1.item(4).cssText is '20% { left: 50px; }'
Insert invalid rules
PASS rules2.length is 6
PASS rules2.item(5).cssText is '10% { left: 30px; }'
Keys
PASS keyframes3.type is window.CSSRule.WEBKIT_KEYFRAMES_RULE
PASS keyframes3.name is 'test3'
PASS rules3.length is 3
PASS rules3.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules3.item(0).keyText is '0%'
PASS rules3.item(1).keyText is '50%,60%'
PASS rules3.item(2).keyText is '90%,100%'
PASS rules3.item(0).cssText is '0% { left: 10px; }'
PASS rules3.item(1).cssText is '50%,60% { left: 30px; }'
PASS rules3.item(2).cssText is '90%,100% { left: 20px; }'
Find a rule
PASS rules3.item(0).style is an instance of CSSStyleDeclaration
PASS rules3.item(0).style.length is 1
PASS rule.type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rule.cssText is '0% { left: 10px; }'
Find a rule with multiple key values
PASS rule.type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rule.cssText is '50%,60% { left: 30px; }'
Find a rule using from and to
PASS keyframes4.type is window.CSSRule.WEBKIT_KEYFRAMES_RULE
PASS rule.type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rule.cssText is '0% { left: 10px; }'
PASS rule.type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rule.cssText is '100% { left: 20px; }'
Try to find a rule that doesn't exist
PASS Non-existent rule was not found
Delete a rule
PASS rules5.length is 2
PASS rules5.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules5.item(0).keyText is '0%'
PASS rules5.item(1).keyText is '90%,100%'
Delete a from rule
PASS rules6.length is 2
PASS rules6.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules6.item(0).keyText is '50%'
PASS rules6.item(1).keyText is '100%'
Delete a rule that doesn't exist
PASS rules7.length is 2
PASS rules7.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules7.item(0).keyText is '0%'
PASS rules7.item(1).keyText is '90%,100%'
Set a keyframe key
PASS rules8.length is 2
PASS rules8.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules8.item(0).keyText is '70%'
PASS rules8.item(1).keyText is '90%,100%'
Set a keyframe key with 'from'
PASS rules9.length is 2
PASS rules9.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules9.item(0).keyText is '0%'
PASS rules9.item(1).keyText is '90%,100%'
Set a keyframe key with multiple values
PASS rules10.length is 2
PASS rules10.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules10.item(0).keyText is '0%,10%,0%,20%,30%,100%'
PASS rules10.item(1).keyText is '90%,100%'
Set a keyframe key with an out-of-range value
PASS rules11.item(0).keyText = "40%, -50%, 60%"; threw exception SyntaxError: Failed to set the 'keyText' property on 'CSSKeyframeRule': The key '40%, -50%, 60%' is invalid and cannot be parsed.
PASS rules11.length is 2
PASS rules11.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules11.item(0).keyText is '0%'
PASS rules11.item(1).keyText is '90%,100%'
Set a keyframe key with an invalid value
PASS rules12.item(0).keyText = "foo"; threw exception SyntaxError: Failed to set the 'keyText' property on 'CSSKeyframeRule': The key 'foo' is invalid and cannot be parsed.
PASS rules12.length is 2
PASS rules12.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules12.item(0).keyText is '0%'
PASS rules12.item(1).keyText is '90%,100%'
Set a keyframe key with a null value
PASS rules13.item(0).keyText = null; threw exception SyntaxError: Failed to set the 'keyText' property on 'CSSKeyframeRule': The key 'null' is invalid and cannot be parsed.
PASS rules13.length is 2
PASS rules13.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules13.item(0).keyText is '0%'
PASS rules13.item(1).keyText is '90%,100%'
PASS successfullyParsed is true
TEST COMPLETE
|