| <!DOCTYPE HTML> |
| <script src="../resources/js-test-pre.js"></script> |
| <p id="description"></p> |
| <div id="console"></div> |
| <script> |
| description("Test the computed style of the -webkit-animation-trigger property."); |
| |
| // These have to be global for the test helpers to see them. |
| var stylesheet, triggerStyle, subRule; |
| var styleElement = document.createElement("style"); |
| document.head.appendChild(styleElement); |
| stylesheet = styleElement.sheet; |
| |
| function testComputedTriggerRule(description, rule, expectedLength, expectedTexts) |
| { |
| debug(""); |
| debug(description + " : " + rule); |
| |
| stylesheet.insertRule("body { -webkit-animation-trigger: " + rule + "; }", 0); |
| |
| triggerStyle = window.getComputedStyle(document.body).getPropertyCSSValue("-webkit-animation-trigger"); |
| shouldBe("triggerStyle.length", "" + expectedLength); |
| for (var i = 0; i < expectedLength; i++) { |
| subRule = triggerStyle[i]; |
| shouldBe("subRule.cssText", "'" + expectedTexts[i] + "'"); |
| } |
| stylesheet.deleteRule(0); |
| } |
| |
| testComputedTriggerRule("Auto", |
| "auto", 1, |
| ["auto"]); |
| |
| testComputedTriggerRule("One container-scroll value", |
| "container-scroll(10px)", 1, |
| ["container-scroll(10px)"]); |
| |
| testComputedTriggerRule("One container-scroll value", |
| "container-scroll(2em)", 1, |
| ["container-scroll(32px)"]); |
| |
| testComputedTriggerRule("One container-scroll value with end value", |
| "container-scroll(10px, 20px)", 1, |
| ["container-scroll(10px, 20px)"]); |
| |
| testComputedTriggerRule("Two container-scroll values", |
| "container-scroll(10px), container-scroll(20px)", 2, |
| ["container-scroll(10px)", "container-scroll(20px)"]); |
| |
| testComputedTriggerRule("Many container-scroll values", |
| "container-scroll(10px), container-scroll(20px), container-scroll(30px), container-scroll(40px), container-scroll(1px)", 5, |
| ["container-scroll(10px)", "container-scroll(20px)", "container-scroll(30px)", "container-scroll(40px)", "container-scroll(1px)"]); |
| |
| testComputedTriggerRule("No value", |
| "", 1, |
| ["auto"]); |
| |
| testComputedTriggerRule("Bad value", |
| "banana", 1, |
| ["auto"]); |
| |
| testComputedTriggerRule("Multiple bad values", |
| "banana, eggs, bacon", 1, |
| ["auto"]); |
| |
| testComputedTriggerRule("Some good, some bad values", |
| "container-scroll(10), eggs, bacon", 1, |
| ["auto"]); |
| |
| successfullyParsed = true; |
| </script> |
| <script src="../resources/js-test-post.js"></script> |