blob: 0be014c4d11cb9ba337727a51d0f764d0240af5e [file] [log] [blame]
This tests the WebKitCSSKeyframeRule and WebKitCSSKeyframesRule interfaces.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS WebKitCSSKeyframeRule exists on Window object
PASS WebKitCSSKeyframesRule exists on Window object
PASS WEBKIT_KEYFRAME_RULE exists on Window.CSSRule object
PASS WEBKIT_KEYFRAMES_RULE exists on Window.CSSRule object
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 three 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 rules1.length is 6
PASS rules1.item(5).cssText is '10% { left: 30px; }'
PASS keyframes2.type is window.CSSRule.WEBKIT_KEYFRAMES_RULE
PASS keyframes2.name is 'test2'
PASS rules2.length is 3
PASS rules2.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules2.item(0).keyText is '0%'
PASS rules2.item(1).keyText is '50%,60%'
PASS rules2.item(2).keyText is '90%,100%'
PASS rules2.item(0).cssText is '0% { left: 10px; }'
PASS rules2.item(1).cssText is '50%,60% { left: 30px; }'
PASS rules2.item(2).cssText is '90%,100% { left: 20px; }'
PASS rules2.item(0).style is an instance of CSSStyleDeclaration
PASS rules2.item(0).style.length is 1
Find a rule
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 keyframesFromTo.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 rules2.length is 2
PASS rules2.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules2.item(0).keyText is '0%'
PASS rules2.item(1).keyText is '90%,100%'
Delete a from rule
PASS rulesFromTo.length is 2
PASS rulesFromTo.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rulesFromTo.item(0).keyText is '50%'
PASS rulesFromTo.item(1).keyText is '100%'
Delete a rule that doesn't exist
PASS rules2.length is 2
PASS rules2.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules2.item(0).keyText is '0%'
PASS rules2.item(1).keyText is '90%,100%'
Set a keyframe key
PASS rules2.length is 2
PASS rules2.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules2.item(0).keyText is '70%'
PASS rules2.item(1).keyText is '90%,100%'
Set a keyframe key with 'from'
PASS rules2.length is 2
PASS rules2.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules2.item(0).keyText is 'from'
PASS rules2.item(1).keyText is '90%,100%'
Set a keyframe key with multiple values
PASS rules2.length is 2
PASS rules2.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules2.item(0).keyText is '10%, 20%, 30%'
PASS rules2.item(1).keyText is '90%,100%'
Set a keyframe key with an out-of-range value
PASS rules2.length is 2
PASS rules2.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules2.item(0).keyText is '40%, -50%, 60%'
PASS rules2.item(1).keyText is '90%,100%'
Set a keyframe key with an invalid value
PASS rules2.length is 2
PASS rules2.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules2.item(0).keyText is 'foo'
PASS rules2.item(1).keyText is '90%,100%'
Set a keyframe key with a null value
PASS rules2.length is 2
PASS rules2.item(0).type is window.CSSRule.WEBKIT_KEYFRAME_RULE
PASS rules2.item(0).keyText is 'null'
PASS rules2.item(1).keyText is '90%,100%'
PASS successfullyParsed is true
TEST COMPLETE