<!DOCTYPE html>
<html>
<head>
<script src="../resources/js-test.js"></script>
</head>
<body>
<script>
description("Test the parsing and the computed style values of the animations properties.")

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');
style = e.style;
computedStyle = window.getComputedStyle(e, null);

// This function checks the return value of computedStyle.animation and verifies Blink can parse it.
function checkAnimationShorthandValue() {
    var before = computedStyle.getPropertyValue('animation');
    e.style.animation = '';
    e.style.animation = before;
    return (computedStyle.getPropertyValue('animation') == before);
}

debug("Valid animation-name values.");
// Initial test.
shouldBe("computedStyle.animationName", "'none'");
shouldBe("computedStyle.webkitAnimationName", "'none'");

style.animationName = "none";
shouldNotBe("Object.keys(style).indexOf('animationName')", "-1");
shouldBe("Object.keys(style).indexOf('webkitAnimationName')", "-1");
shouldBe("style.animationName", "'none'");
shouldBe("computedStyle.animationName", "'none'");
shouldBe("style.webkitAnimationName", "'none'");
shouldBe("computedStyle.webkitAnimationName", "'none'");

style.animationName = "none, none";
shouldBe("style.animationName", "'none, none'");
shouldBe("computedStyle.animationName", "'none, none'");
shouldBe("style.webkitAnimationName", "'none, none'");
shouldBe("computedStyle.webkitAnimationName", "'none, none'");

style.animationName = "myAnim";
shouldBe("style.animationName", "'myAnim'");
shouldBe("computedStyle.animationName", "'myAnim'");
shouldBe("style.webkitAnimationName", "'myAnim'");
shouldBe("computedStyle.webkitAnimationName", "'myAnim'");

style.animationName = "background-position, font-size";
shouldBe("style.animationName", "'background-position, font-size'");
shouldBe("computedStyle.animationName", "'background-position, font-size'");
shouldBe("style.webkitAnimationName", "'background-position, font-size'");
shouldBe("computedStyle.webkitAnimationName", "'background-position, font-size'");

style.animationName = "background-position, font-size, color";
shouldBe("style.animationName", "'background-position, font-size, color'");
shouldBe("computedStyle.animationName", "'background-position, font-size, color'");
shouldBe("style.webkitAnimationName", "'background-position, font-size, color'");
shouldBe("computedStyle.webkitAnimationName", "'background-position, font-size, color'");

style.animationName = "all, font-size, color";
shouldBe("style.animationName", "'all, font-size, color'");
shouldBe("computedStyle.animationName", "'all, font-size, color'");
shouldBe("style.webkitAnimationName", "'all, font-size, color'");
shouldBe("computedStyle.webkitAnimationName", "'all, font-size, color'");

style.animationName = "inherit";
shouldBe("style.animationName", "'inherit'");
shouldBe("computedStyle.animationName", "'none'");
shouldBe("style.webkitAnimationName", "'inherit'");
shouldBe("computedStyle.webkitAnimationName", "'none'");

style.animationName = "initial";
shouldBe("style.animationName", "'initial'");
shouldBe("computedStyle.animationName", "'none'");
shouldBe("style.webkitAnimationName", "'initial'");
shouldBe("computedStyle.webkitAnimationName", "'none'");

debug("Invalid animation-name values.");
style.animationName = "";

style.animationName = "0";
shouldBe("style.animationName", "''");
shouldBe("computedStyle.animationName", "'none'");
shouldBe("style.webkitAnimationName", "''");
shouldBe("computedStyle.webkitAnimationName", "'none'");

style.animationName = "all none";
shouldBe("style.animationName", "''");
shouldBe("computedStyle.animationName", "'none'");
shouldBe("style.webkitAnimationName", "''");
shouldBe("computedStyle.webkitAnimationName", "'none'");

style.animationName = "opacity width";
shouldBe("style.animationName", "''");
shouldBe("computedStyle.animationName", "'none'");
shouldBe("style.webkitAnimationName", "''");
shouldBe("computedStyle.webkitAnimationName", "'none'");

style.animationName = "";

debug("Valid animation-duration values.");
// Initial test.
shouldBe("computedStyle.animationDuration", "'0s'");
shouldBe("computedStyle.webkitAnimationDuration", "'0s'");

style.animationDuration = "0s";
shouldNotBe("Object.keys(style).indexOf('animationDuration')", "-1");
shouldBe("Object.keys(style).indexOf('webkitAnimationDuration')", "-1");
shouldBe("style.animationDuration", "'0s'");
shouldBe("computedStyle.animationDuration", "'0s'");
shouldBe("style.webkitAnimationDuration", "'0s'");
shouldBe("computedStyle.webkitAnimationDuration", "'0s'");

style.animationDuration = "5s";
shouldBe("style.animationDuration", "'5s'");
shouldBe("computedStyle.animationDuration", "'5s'");
shouldBe("style.webkitAnimationDuration", "'5s'");
shouldBe("computedStyle.webkitAnimationDuration", "'5s'");

style.animationDuration = "10ms";
shouldBe("style.animationDuration", "'10ms'");
shouldBe("computedStyle.animationDuration", "'0.01s'");
shouldBe("style.webkitAnimationDuration", "'10ms'");
shouldBe("computedStyle.webkitAnimationDuration", "'0.01s'");

style.animationDuration = "10ms, 20s";
shouldBe("style.animationDuration", "'10ms, 20s'");
shouldBe("computedStyle.animationDuration", "'0.01s, 20s'");
shouldBe("style.webkitAnimationDuration", "'10ms, 20s'");
shouldBe("computedStyle.webkitAnimationDuration", "'0.01s, 20s'");

debug("Invalid animation-duration values.");
style.animationDuration = "";

// Negative values are invalid.
style.animationDuration = "-10ms";
shouldBe("style.animationDuration", "''");
shouldBe("computedStyle.animationDuration", "'0s'");
shouldBe("style.webkitAnimationDuration", "''");
shouldBe("computedStyle.webkitAnimationDuration", "'0s'");

style.animationDuration = "'5ms'";
shouldBe("style.animationDuration", "''");
shouldBe("computedStyle.animationDuration", "'0s'");
shouldBe("style.webkitAnimationDuration", "''");
shouldBe("computedStyle.webkitAnimationDuration", "'0s'");

style.animationDuration = "30px";
shouldBe("style.animationDuration", "''");
shouldBe("computedStyle.animationDuration", "'0s'");
shouldBe("style.webkitAnimationDuration", "''");
shouldBe("computedStyle.webkitAnimationDuration", "'0s'");

style.animationDuration = "solid";
shouldBe("style.animationDuration", "''");
shouldBe("computedStyle.animationDuration", "'0s'");
shouldBe("style.webkitAnimationDuration", "''");
shouldBe("computedStyle.webkitAnimationDuration", "'0s'");

style.animationDuration = "20";
shouldBe("style.animationDuration", "''");
shouldBe("computedStyle.animationDuration", "'0s'");
shouldBe("style.webkitAnimationDuration", "''");
shouldBe("computedStyle.webkitAnimationDuration", "'0s'");

style.animationDuration = "20%";
shouldBe("style.animationDuration", "''");
shouldBe("computedStyle.animationDuration", "'0s'");
shouldBe("style.webkitAnimationDuration", "''");
shouldBe("computedStyle.webkitAnimationDuration", "'0s'");

style.animationDuration = "0s, 20px";
shouldBe("style.animationDuration", "''");
shouldBe("computedStyle.animationDuration", "'0s'");
shouldBe("style.webkitAnimationDuration", "''");
shouldBe("computedStyle.webkitAnimationDuration", "'0s'");

debug("Valid animation-timing-function values.");
// Initial test.
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

style.animationTimingFunction = "linear";
shouldNotBe("Object.keys(style).indexOf('animationTimingFunction')", "-1");
shouldBe("Object.keys(style).indexOf('webkitAnimationTimingFunction')", "-1");
shouldBe("style.animationTimingFunction", "'linear'");
shouldBe("computedStyle.animationTimingFunction", "'linear'");
shouldBe("style.webkitAnimationTimingFunction", "'linear'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'linear'");

style.animationTimingFunction = "ease";
shouldBe("style.animationTimingFunction", "'ease'");
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("style.webkitAnimationTimingFunction", "'ease'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

style.animationTimingFunction = "ease-in";
shouldBe("style.animationTimingFunction", "'ease-in'");
shouldBe("computedStyle.animationTimingFunction", "'ease-in'");
shouldBe("style.webkitAnimationTimingFunction", "'ease-in'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease-in'");

style.animationTimingFunction = "ease-out";
shouldBe("style.animationTimingFunction", "'ease-out'");
shouldBe("computedStyle.animationTimingFunction", "'ease-out'");
shouldBe("style.webkitAnimationTimingFunction", "'ease-out'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease-out'");

style.animationTimingFunction = "ease-in-out";
shouldBe("style.animationTimingFunction", "'ease-in-out'");
shouldBe("computedStyle.animationTimingFunction", "'ease-in-out'");
shouldBe("style.webkitAnimationTimingFunction", "'ease-in-out'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease-in-out'");

style.animationTimingFunction = "cubic-bezier(0.25, 0.1, 0.25, 1)";
shouldBe("style.animationTimingFunction", "'cubic-bezier(0.25, 0.1, 0.25, 1)'");
shouldBe("computedStyle.animationTimingFunction", "'cubic-bezier(0.25, 0.1, 0.25, 1)'");
shouldBe("style.webkitAnimationTimingFunction", "'cubic-bezier(0.25, 0.1, 0.25, 1)'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'cubic-bezier(0.25, 0.1, 0.25, 1)'");

style.animationTimingFunction = "cubic-bezier(0.1, 0, 0.23, 0.4)";
shouldBe("style.animationTimingFunction", "'cubic-bezier(0.1, 0, 0.23, 0.4)'");
shouldBe("computedStyle.animationTimingFunction", "'cubic-bezier(0.1, 0, 0.23, 0.4)'");
shouldBe("style.webkitAnimationTimingFunction", "'cubic-bezier(0.1, 0, 0.23, 0.4)'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'cubic-bezier(0.1, 0, 0.23, 0.4)'");

style.animationTimingFunction = "cubic-bezier(0.1, 0, 0.23, 3)";
shouldBe("style.animationTimingFunction", "'cubic-bezier(0.1, 0, 0.23, 3)'");
shouldBe("computedStyle.animationTimingFunction", "'cubic-bezier(0.1, 0, 0.23, 3)'");
shouldBe("style.webkitAnimationTimingFunction", "'cubic-bezier(0.1, 0, 0.23, 3)'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'cubic-bezier(0.1, 0, 0.23, 3)'");

style.animationTimingFunction = "cubic-bezier(0.1, 5, 0.23, 3)";
shouldBe("style.animationTimingFunction", "'cubic-bezier(0.1, 5, 0.23, 3)'");
shouldBe("computedStyle.animationTimingFunction", "'cubic-bezier(0.1, 5, 0.23, 3)'");
shouldBe("style.webkitAnimationTimingFunction", "'cubic-bezier(0.1, 5, 0.23, 3)'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'cubic-bezier(0.1, 5, 0.23, 3)'");

style.animationTimingFunction = "cubic-bezier(0.1, 5, 0.23, 0)";
shouldBe("style.animationTimingFunction", "'cubic-bezier(0.1, 5, 0.23, 0)'");
shouldBe("computedStyle.animationTimingFunction", "'cubic-bezier(0.1, 5, 0.23, 0)'");
shouldBe("style.webkitAnimationTimingFunction", "'cubic-bezier(0.1, 5, 0.23, 0)'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'cubic-bezier(0.1, 5, 0.23, 0)'");

style.animationTimingFunction = "cubic-bezier(0.2, 2, 0.2, -0.4)";
shouldBe("style.animationTimingFunction", "'cubic-bezier(0.2, 2, 0.2, -0.4)'");
shouldBe("computedStyle.animationTimingFunction", "'cubic-bezier(0.2, 2, 0.2, -0.4)'");
shouldBe("style.webkitAnimationTimingFunction", "'cubic-bezier(0.2, 2, 0.2, -0.4)'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'cubic-bezier(0.2, 2, 0.2, -0.4)'");

style.animationTimingFunction = "cubic-bezier(0.2, -2, 0.2, 0.4)";
shouldBe("style.animationTimingFunction", "'cubic-bezier(0.2, -2, 0.2, 0.4)'");
shouldBe("computedStyle.animationTimingFunction", "'cubic-bezier(0.2, -2, 0.2, 0.4)'");
shouldBe("style.webkitAnimationTimingFunction", "'cubic-bezier(0.2, -2, 0.2, 0.4)'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'cubic-bezier(0.2, -2, 0.2, 0.4)'");

style.animationTimingFunction = "step-start";
shouldBe("style.animationTimingFunction", "'step-start'");
shouldBe("computedStyle.animationTimingFunction", "'step-start'");
shouldBe("style.webkitAnimationTimingFunction", "'step-start'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'step-start'");

style.animationTimingFunction = "step-end";
shouldBe("style.animationTimingFunction", "'step-end'");
shouldBe("computedStyle.animationTimingFunction", "'step-end'");
shouldBe("style.webkitAnimationTimingFunction", "'step-end'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'step-end'");

style.animationTimingFunction = "steps(3)";
shouldBe("style.animationTimingFunction", "'steps(3, end)'");
shouldBe("computedStyle.animationTimingFunction", "'steps(3, end)'");
shouldBe("style.webkitAnimationTimingFunction", "'steps(3, end)'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'steps(3, end)'");

style.animationTimingFunction = "steps(4, end)";
shouldBe("style.animationTimingFunction", "'steps(4, end)'");
shouldBe("computedStyle.animationTimingFunction", "'steps(4, end)'");
shouldBe("style.webkitAnimationTimingFunction", "'steps(4, end)'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'steps(4, end)'");

style.animationTimingFunction = "steps(5, start)";
shouldBe("style.animationTimingFunction", "'steps(5, start)'");
shouldBe("computedStyle.animationTimingFunction", "'steps(5, start)'");
shouldBe("style.webkitAnimationTimingFunction", "'steps(5, start)'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'steps(5, start)'");

style.animationName = "anim1, anim2";

style.animationTimingFunction = "ease-in-out, ease-in";
shouldBe("style.animationTimingFunction", "'ease-in-out, ease-in'");
shouldBe("computedStyle.animationTimingFunction", "'ease-in-out, ease-in'");
shouldBe("style.webkitAnimationTimingFunction", "'ease-in-out, ease-in'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease-in-out, ease-in'");

style.animationTimingFunction = "ease-in-out, cubic-bezier(0.1, 0, 0.23, 0.4)";
shouldBe("style.animationTimingFunction", "'ease-in-out, cubic-bezier(0.1, 0, 0.23, 0.4)'");
shouldBe("computedStyle.animationTimingFunction", "'ease-in-out, cubic-bezier(0.1, 0, 0.23, 0.4)'");
shouldBe("style.webkitAnimationTimingFunction", "'ease-in-out, cubic-bezier(0.1, 0, 0.23, 0.4)'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease-in-out, cubic-bezier(0.1, 0, 0.23, 0.4)'");

style.animationTimingFunction = "steps(3, start), ease-in-out";
shouldBe("style.animationTimingFunction", "'steps(3, start), ease-in-out'");
shouldBe("computedStyle.animationTimingFunction", "'steps(3, start), ease-in-out'");
shouldBe("style.webkitAnimationTimingFunction", "'steps(3, start), ease-in-out'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'steps(3, start), ease-in-out'");

debug("Invalid animation-timing-function values.");
style.animationName = "";
style.animationTimingFunction = "";

style.animationTimingFunction = "cubic-bezier(3, 0.1, 4, 1)";
shouldBe("style.animationTimingFunction", "''");
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("style.webkitAnimationTimingFunction", "''");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

style.animationTimingFunction = "cubic-bezier(1, 0.1, 3, 1)";
shouldBe("style.animationTimingFunction", "''");
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("style.webkitAnimationTimingFunction", "''");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

style.animationTimingFunction = "cubic-bezier(0.1, 0, 4, 0.4)";
shouldBe("style.animationTimingFunction", "''");
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("style.webkitAnimationTimingFunction", "''");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

style.animationTimingFunction = "cubic-bezier(3, 0, 4, 0.4)";
shouldBe("style.animationTimingFunction", "''");
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("style.webkitAnimationTimingFunction", "''");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

style.animationTimingFunction = "cubic-bezier(3, 0, 0.2, 0.4)";
shouldBe("style.animationTimingFunction", "''");
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("style.webkitAnimationTimingFunction", "''");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

style.animationTimingFunction = "cubic-bezier(-0.2, 0, 0.2, 0.4)";
shouldBe("style.animationTimingFunction", "''");
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("style.webkitAnimationTimingFunction", "''");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

style.animationTimingFunction = "cubic-bezier(0.2, 2, -0.2, 0.4)";
shouldBe("style.animationTimingFunction", "''");
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("style.webkitAnimationTimingFunction", "''");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

style.animationTimingFunction = "steps(5, 3)";
shouldBe("style.animationTimingFunction", "''");
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("style.webkitAnimationTimingFunction", "''");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

style.animationTimingFunction = "steps(-5, start)";
shouldBe("style.animationTimingFunction", "''");
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("style.webkitAnimationTimingFunction", "''");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

style.animationTimingFunction = "steps(5, start, end)";
shouldBe("style.animationTimingFunction", "''");
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("style.webkitAnimationTimingFunction", "''");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

style.animationTimingFunction = "step(5)";
shouldBe("style.animationTimingFunction", "''");
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("style.webkitAnimationTimingFunction", "''");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

style.animationTimingFunction = "red";
shouldBe("style.animationTimingFunction", "''");
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("style.webkitAnimationTimingFunction", "''");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

style.animationTimingFunction = "cubic-bezier(0.25, 0.1, 0.25)";
shouldBe("style.animationTimingFunction", "''");
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("style.webkitAnimationTimingFunction", "''");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

style.animationTimingFunction = "cubic-bezier(0.25, 0.1, 0.25, 1, 2)";
shouldBe("style.animationTimingFunction", "''");
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("style.webkitAnimationTimingFunction", "''");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

style.animationTimingFunction = "cubic-foo(0.25, 0.1, 0.25, 1)";
shouldBe("style.animationTimingFunction", "''");
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("style.webkitAnimationTimingFunction", "''");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

style.animationTimingFunction = "step-middle";
shouldBe("style.animationTimingFunction", "'step-middle'");
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("style.webkitAnimationTimingFunction", "'step-middle'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

style.animationTimingFunction = "steps(5, middle)";
shouldBe("style.animationTimingFunction", "'steps(5, middle)'");
shouldBe("computedStyle.animationTimingFunction", "'ease'");
shouldBe("style.webkitAnimationTimingFunction", "'steps(5, middle)'");
shouldBe("computedStyle.webkitAnimationTimingFunction", "'ease'");

debug("Valid animation-delay values.");
// Initial test.
shouldBe("computedStyle.animationDelay", "'0s'");
shouldBe("computedStyle.webkitAnimationDelay", "'0s'");

style.animationDelay = "0s";
shouldNotBe("Object.keys(style).indexOf('animationDelay')", "-1");
shouldBe("Object.keys(style).indexOf('webkitAnimationDelay')", "-1");
shouldBe("style.animationDelay", "'0s'");
shouldBe("computedStyle.animationDelay", "'0s'");
shouldBe("style.webkitAnimationDelay", "'0s'");
shouldBe("computedStyle.webkitAnimationDelay", "'0s'");

style.animationDelay = "5s";
shouldBe("style.animationDelay", "'5s'");
shouldBe("computedStyle.animationDelay", "'5s'");
shouldBe("style.webkitAnimationDelay", "'5s'");
shouldBe("computedStyle.webkitAnimationDelay", "'5s'");

style.animationDelay = "10ms";
shouldBe("style.animationDelay", "'10ms'");
shouldBe("computedStyle.animationDelay", "'0.01s'");
shouldBe("style.webkitAnimationDelay", "'10ms'");
shouldBe("computedStyle.webkitAnimationDelay", "'0.01s'");

style.animationDelay = "-10ms";
shouldBe("style.animationDelay", "'-10ms'");
shouldBe("computedStyle.animationDelay", "'-0.01s'");
shouldBe("style.webkitAnimationDelay", "'-10ms'");
shouldBe("computedStyle.webkitAnimationDelay", "'-0.01s'");

style.transitionProperty = "opacity, width";

style.animationDelay = "-10ms, 20s";
shouldBe("style.animationDelay", "'-10ms, 20s'");
shouldBe("computedStyle.animationDelay", "'-0.01s, 20s'");
shouldBe("style.webkitAnimationDelay", "'-10ms, 20s'");
shouldBe("computedStyle.webkitAnimationDelay", "'-0.01s, 20s'");

debug("Invalid animation-delay values.");
style.transitionProperty = "opacity";
style.animationDelay = "";

style.animationDelay = "'5ms'";
shouldBe("style.animationDelay", "''");
shouldBe("computedStyle.animationDelay", "'0s'");
shouldBe("style.webkitAnimationDelay", "''");
shouldBe("computedStyle.webkitAnimationDelay", "'0s'");

style.animationDelay = "30px";
shouldBe("style.animationDelay", "''");
shouldBe("computedStyle.animationDelay", "'0s'");
shouldBe("style.webkitAnimationDelay", "''");
shouldBe("computedStyle.webkitAnimationDelay", "'0s'");

style.animationDelay = "solid";
shouldBe("style.animationDelay", "''");
shouldBe("computedStyle.animationDelay", "'0s'");
shouldBe("style.webkitAnimationDelay", "''");
shouldBe("computedStyle.webkitAnimationDelay", "'0s'");

style.animationDelay = "20";
shouldBe("style.animationDelay", "''");
shouldBe("computedStyle.animationDelay", "'0s'");
shouldBe("style.webkitAnimationDelay", "''");
shouldBe("computedStyle.webkitAnimationDelay", "'0s'");

style.animationDelay = "20%";
shouldBe("style.animationDelay", "''");
shouldBe("computedStyle.animationDelay", "'0s'");
shouldBe("style.webkitAnimationDelay", "''");
shouldBe("computedStyle.webkitAnimationDelay", "'0s'");

style.animationDelay = "0s, 20px";
shouldBe("style.animationDelay", "''");
shouldBe("computedStyle.animationDelay", "'0s'");
shouldBe("style.webkitAnimationDelay", "''");
shouldBe("computedStyle.webkitAnimationDelay", "'0s'");

debug("Valid animation-iteration-count values.");
// Initial test.
shouldBe("computedStyle.animationIterationCount", "'1'");
shouldBe("computedStyle.webkitAnimationIterationCount", "'1'");

style.animationIterationCount = "4";
shouldNotBe("Object.keys(style).indexOf('animationIterationCount')", "-1");
shouldBe("Object.keys(style).indexOf('webkitAnimationIterationCount')", "-1");
shouldBe("style.animationIterationCount", "'4'");
shouldBe("computedStyle.animationIterationCount", "'4'");
shouldBe("style.webkitAnimationIterationCount", "'4'");
shouldBe("computedStyle.webkitAnimationIterationCount", "'4'");

style.animationIterationCount = "2.5";
shouldBe("style.animationIterationCount", "'2.5'");
shouldBe("computedStyle.animationIterationCount", "'2.5'");
shouldBe("style.webkitAnimationIterationCount", "'2.5'");
shouldBe("computedStyle.webkitAnimationIterationCount", "'2.5'");

style.animationIterationCount = "infinite";
shouldBe("style.animationIterationCount", "'infinite'");
shouldBe("computedStyle.animationIterationCount", "'infinite'");
shouldBe("style.webkitAnimationIterationCount", "'infinite'");
shouldBe("computedStyle.webkitAnimationIterationCount", "'infinite'");

style.animationIterationCount = "infinite, 3";
shouldBe("style.animationIterationCount", "'infinite, 3'");
shouldBe("computedStyle.animationIterationCount", "'infinite, 3'");
shouldBe("style.webkitAnimationIterationCount", "'infinite, 3'");
shouldBe("computedStyle.webkitAnimationIterationCount", "'infinite, 3'");

style.animationIterationCount = "0";
shouldBe("style.animationIterationCount", "'0'");
shouldBe("computedStyle.animationIterationCount", "'0'");
shouldBe("style.webkitAnimationIterationCount", "'0'");
shouldBe("computedStyle.webkitAnimationIterationCount", "'0'");

style.animationIterationCount = "infinite, infinite";
shouldBe("style.animationIterationCount", "'infinite, infinite'");
shouldBe("computedStyle.animationIterationCount", "'infinite, infinite'");
shouldBe("style.webkitAnimationIterationCount", "'infinite, infinite'");
shouldBe("computedStyle.webkitAnimationIterationCount", "'infinite, infinite'");

debug("Invalid animation-iteration-count values.");
style.animationIterationCount = "";

style.animationIterationCount = "none";
shouldBe("style.animationIterationCount", "''");
shouldBe("computedStyle.animationIterationCount", "'1'");
shouldBe("style.webkitAnimationIterationCount", "''");
shouldBe("computedStyle.webkitAnimationIterationCount", "'1'");

style.animationIterationCount = "-3";
shouldBe("style.animationIterationCount", "''");
shouldBe("computedStyle.animationIterationCount", "'1'");
shouldBe("style.webkitAnimationIterationCount", "''");
shouldBe("computedStyle.webkitAnimationIterationCount", "'1'");

style.animationIterationCount = "infinite, -3";
shouldBe("style.animationIterationCount", "''");
shouldBe("computedStyle.animationIterationCount", "'1'");
shouldBe("style.webkitAnimationIterationCount", "''");
shouldBe("computedStyle.webkitAnimationIterationCount", "'1'");

style.animationIterationCount = "solid";
shouldBe("style.animationIterationCount", "''");
shouldBe("computedStyle.animationIterationCount", "'1'");
shouldBe("style.webkitAnimationIterationCount", "''");
shouldBe("computedStyle.webkitAnimationIterationCount", "'1'");

style.animationIterationCount = "-1, infinite";
shouldBe("style.animationIterationCount", "''");
shouldBe("computedStyle.animationIterationCount", "'1'");
shouldBe("style.webkitAnimationIterationCount", "''");
shouldBe("computedStyle.webkitAnimationIterationCount", "'1'");

style.animationIterationCount = "-1, 3";
shouldBe("style.animationIterationCount", "''");
shouldBe("computedStyle.animationIterationCount", "'1'");
shouldBe("style.webkitAnimationIterationCount", "''");
shouldBe("computedStyle.webkitAnimationIterationCount", "'1'");

debug("Valid animation-direction values.");
// Initial test.
shouldBe("computedStyle.animationDirection", "'normal'");
shouldBe("computedStyle.webkitAnimationDirection", "'normal'");

style.animationDirection = "reverse";
shouldNotBe("Object.keys(style).indexOf('animationDirection')", "-1");
shouldBe("Object.keys(style).indexOf('webkitAnimationDirection')", "-1");
shouldBe("style.animationDirection", "'reverse'");
shouldBe("computedStyle.animationDirection", "'reverse'");
shouldBe("style.webkitAnimationDirection", "'reverse'");
shouldBe("computedStyle.webkitAnimationDirection", "'reverse'");

style.animationDirection = "normal";
shouldBe("style.animationDirection", "'normal'");
shouldBe("computedStyle.animationDirection", "'normal'");
shouldBe("style.webkitAnimationDirection", "'normal'");
shouldBe("computedStyle.webkitAnimationDirection", "'normal'");

style.animationDirection = "normal, alternate";
shouldBe("style.animationDirection", "'normal, alternate'");
shouldBe("computedStyle.animationDirection", "'normal, alternate'");
shouldBe("style.webkitAnimationDirection", "'normal, alternate'");
shouldBe("computedStyle.webkitAnimationDirection", "'normal, alternate'");

style.animationDirection = "alternate";
shouldBe("style.animationDirection", "'alternate'");
shouldBe("computedStyle.animationDirection", "'alternate'");
shouldBe("style.webkitAnimationDirection", "'alternate'");
shouldBe("computedStyle.webkitAnimationDirection", "'alternate'");

style.animationDirection = "alternate-reverse";
shouldBe("style.animationDirection", "'alternate-reverse'");
shouldBe("computedStyle.animationDirection", "'alternate-reverse'");
shouldBe("style.webkitAnimationDirection", "'alternate-reverse'");
shouldBe("computedStyle.webkitAnimationDirection", "'alternate-reverse'");

debug("Invalid animation-direction values.");
style.animationDirection = "";

style.animationDirection = "solid";
shouldBe("style.animationDirection", "''");
shouldBe("computedStyle.animationDirection", "'normal'");
shouldBe("style.webkitAnimationDirection", "''");
shouldBe("computedStyle.webkitAnimationDirection", "'normal'");

style.animationDirection = "0";
shouldBe("style.animationDirection", "''");
shouldBe("computedStyle.animationDirection", "'normal'");
shouldBe("style.webkitAnimationDirection", "''");
shouldBe("computedStyle.webkitAnimationDirection", "'normal'");

style.animationDirection = "3px";
shouldBe("style.animationDirection", "''");
shouldBe("computedStyle.animationDirection", "'normal'");
shouldBe("style.webkitAnimationDirection", "''");
shouldBe("computedStyle.webkitAnimationDirection", "'normal'");

style.animationDirection = "alternate-normal";
shouldBe("style.animationDirection", "''");
shouldBe("computedStyle.animationDirection", "'normal'");
shouldBe("style.webkitAnimationDirection", "''");
shouldBe("computedStyle.webkitAnimationDirection", "'normal'");

style.animationDirection = "3.5";
shouldBe("style.animationDirection", "''");
shouldBe("computedStyle.animationDirection", "'normal'");
shouldBe("style.webkitAnimationDirection", "''");
shouldBe("computedStyle.webkitAnimationDirection", "'normal'");

style.animationDirection = "3.5, reverse";
shouldBe("style.animationDirection", "''");
shouldBe("computedStyle.animationDirection", "'normal'");
shouldBe("style.webkitAnimationDirection", "''");
shouldBe("computedStyle.webkitAnimationDirection", "'normal'");

style.animationDirection = "reverse, solid";
shouldBe("style.animationDirection", "''");
shouldBe("computedStyle.animationDirection", "'normal'");
shouldBe("style.webkitAnimationDirection", "''");
shouldBe("computedStyle.webkitAnimationDirection", "'normal'");

debug("Valid animation-play-state values.");
// Initial test.
shouldBe("computedStyle.animationPlayState", "'running'");
shouldBe("computedStyle.webkitAnimationPlayState", "'running'");

style.animationPlayState = "paused";
shouldNotBe("Object.keys(style).indexOf('animationPlayState')", "-1");
shouldBe("Object.keys(style).indexOf('webkitAnimationPlayState')", "-1");
shouldBe("style.animationPlayState", "'paused'");
shouldBe("computedStyle.animationPlayState", "'paused'");
shouldBe("style.webkitAnimationPlayState", "'paused'");
shouldBe("computedStyle.webkitAnimationPlayState", "'paused'");

style.animationPlayState = "running";
shouldBe("style.animationPlayState", "'running'");
shouldBe("computedStyle.animationPlayState", "'running'");
shouldBe("style.webkitAnimationPlayState", "'running'");
shouldBe("computedStyle.webkitAnimationPlayState", "'running'");

style.animationPlayState = "running, running";
shouldBe("style.animationPlayState", "'running, running'");
shouldBe("computedStyle.animationPlayState", "'running, running'");
shouldBe("style.webkitAnimationPlayState", "'running, running'");
shouldBe("computedStyle.webkitAnimationPlayState", "'running, running'");

style.animationPlayState = "paused, paused";
shouldBe("style.animationPlayState", "'paused, paused'");
shouldBe("computedStyle.animationPlayState", "'paused, paused'");
shouldBe("style.webkitAnimationPlayState", "'paused, paused'");
shouldBe("computedStyle.webkitAnimationPlayState", "'paused, paused'");

style.animationPlayState = "paused, running";
shouldBe("style.animationPlayState", "'paused, running'");
shouldBe("computedStyle.animationPlayState", "'paused, running'");
shouldBe("style.webkitAnimationPlayState", "'paused, running'");
shouldBe("computedStyle.webkitAnimationPlayState", "'paused, running'");

debug("Invalid animation-play-state values.");
style.animationPlayState = "";

style.animationPlayState = "running3";
shouldBe("style.animationPlayState", "''");
shouldBe("computedStyle.animationPlayState", "'running'");
shouldBe("style.webkitAnimationPlayState", "''");
shouldBe("computedStyle.webkitAnimationPlayState", "'running'");

style.animationPlayState = "0";
shouldBe("style.animationPlayState", "''");
shouldBe("computedStyle.animationPlayState", "'running'");
shouldBe("style.webkitAnimationPlayState", "''");
shouldBe("computedStyle.webkitAnimationPlayState", "'running'");

style.animationPlayState = "solid";
shouldBe("style.animationPlayState", "''");
shouldBe("computedStyle.animationPlayState", "'running'");
shouldBe("style.webkitAnimationPlayState", "''");
shouldBe("computedStyle.webkitAnimationPlayState", "'running'");

style.animationPlayState = "20px";
shouldBe("style.animationPlayState", "''");
shouldBe("computedStyle.animationPlayState", "'running'");
shouldBe("style.webkitAnimationPlayState", "''");
shouldBe("computedStyle.webkitAnimationPlayState", "'running'");

style.animationPlayState = "all";
shouldBe("style.animationPlayState", "''");
shouldBe("computedStyle.animationPlayState", "'running'");
shouldBe("style.webkitAnimationPlayState", "''");
shouldBe("computedStyle.webkitAnimationPlayState", "'running'");

style.animationPlayState = "running, test";
shouldBe("style.animationPlayState", "''");
shouldBe("computedStyle.animationPlayState", "'running'");
shouldBe("style.webkitAnimationPlayState", "''");
shouldBe("computedStyle.webkitAnimationPlayState", "'running'");

style.animationPlayState = "all, paused";
shouldBe("style.animationPlayState", "''");
shouldBe("computedStyle.animationPlayState", "'running'");
shouldBe("style.webkitAnimationPlayState", "''");
shouldBe("computedStyle.webkitAnimationPlayState", "'running'");

debug("Valid animation-fill-mode values.");
// Initial test.
shouldBe("computedStyle.animationFillMode", "'none'");
shouldBe("computedStyle.webkitAnimationFillMode", "'none'");

style.animationFillMode = "forwards";
shouldNotBe("Object.keys(style).indexOf('animationFillMode')", "-1");
shouldBe("Object.keys(style).indexOf('webkitAnimationFillMode')", "-1");
shouldBe("style.animationFillMode", "'forwards'");
shouldBe("computedStyle.animationFillMode", "'forwards'");
shouldBe("style.webkitAnimationFillMode", "'forwards'");
shouldBe("computedStyle.webkitAnimationFillMode", "'forwards'");

style.animationFillMode = "backwards";
shouldBe("style.animationFillMode", "'backwards'");
shouldBe("computedStyle.animationFillMode", "'backwards'");
shouldBe("style.webkitAnimationFillMode", "'backwards'");
shouldBe("computedStyle.webkitAnimationFillMode", "'backwards'");

style.animationFillMode = "both";
shouldBe("style.animationFillMode", "'both'");
shouldBe("computedStyle.animationFillMode", "'both'");
shouldBe("style.webkitAnimationFillMode", "'both'");
shouldBe("computedStyle.webkitAnimationFillMode", "'both'");

style.animationFillMode = "none";
shouldBe("style.animationFillMode", "'none'");
shouldBe("computedStyle.animationFillMode", "'none'");
shouldBe("style.webkitAnimationFillMode", "'none'");
shouldBe("computedStyle.webkitAnimationFillMode", "'none'");

style.animationFillMode = "none, both";
shouldBe("style.animationFillMode", "'none, both'");
shouldBe("computedStyle.animationFillMode", "'none, both'");
shouldBe("style.webkitAnimationFillMode", "'none, both'");
shouldBe("computedStyle.webkitAnimationFillMode", "'none, both'");

style.animationFillMode = "backwards, forwards";
shouldBe("style.animationFillMode", "'backwards, forwards'");
shouldBe("computedStyle.animationFillMode", "'backwards, forwards'");
shouldBe("style.webkitAnimationFillMode", "'backwards, forwards'");
shouldBe("computedStyle.webkitAnimationFillMode", "'backwards, forwards'");

debug("Invalid animation-fill-mode values.");
style.animationFillMode = "";

style.animationFillMode = "foo";
shouldBe("style.animationFillMode", "''");
shouldBe("computedStyle.animationFillMode", "'none'");
shouldBe("style.webkitAnimationFillMode", "''");
shouldBe("computedStyle.webkitAnimationFillMode", "'none'");

style.animationFillMode = "0";
shouldBe("style.animationFillMode", "''");
shouldBe("computedStyle.animationFillMode", "'none'");
shouldBe("style.webkitAnimationFillMode", "''");
shouldBe("computedStyle.webkitAnimationFillMode", "'none'");

style.animationFillMode = "-";
shouldBe("style.animationFillMode", "''");
shouldBe("computedStyle.animationFillMode", "'none'");
shouldBe("style.webkitAnimationFillMode", "''");
shouldBe("computedStyle.webkitAnimationFillMode", "'none'");

style.animationFillMode = "3px";
shouldBe("style.animationFillMode", "''");
shouldBe("computedStyle.animationFillMode", "'none'");
shouldBe("style.webkitAnimationFillMode", "''");
shouldBe("computedStyle.webkitAnimationFillMode", "'none'");

style.animationFillMode = "backwards, test";
shouldBe("style.animationFillMode", "''");
shouldBe("computedStyle.animationFillMode", "'none'");
shouldBe("style.webkitAnimationFillMode", "''");
shouldBe("computedStyle.webkitAnimationFillMode", "'none'");

style.animationFillMode = "test, all";
shouldBe("style.animationFillMode", "''");
shouldBe("computedStyle.animationFillMode", "'none'");
shouldBe("style.webkitAnimationFillMode", "''");
shouldBe("computedStyle.webkitAnimationFillMode", "'none'");

style.animationFillMode = "test, none";
shouldBe("style.animationFillMode", "''");
shouldBe("computedStyle.animationFillMode", "'none'");
shouldBe("style.webkitAnimationFillMode", "''");
shouldBe("computedStyle.webkitAnimationFillMode", "'none'");

style.animationFillMode = "forwards,";
shouldBe("style.animationFillMode", "''");

debug("Valid animation shorthand values.");
style.animation = "";
// Initial test.
shouldBe("computedStyle.animation", "'none 0s ease 0s 1 normal none running'");
shouldBe("computedStyle.webkitAnimation", "'none 0s ease 0s 1 normal none running'");

style.animation = "myShorthandAnim";
shouldNotBe("Object.keys(style).indexOf('animation')", "-1");
shouldBe("Object.keys(style).indexOf('webkitAnimation')", "-1");
shouldBe("style.animation", "'myShorthandAnim'");
shouldBe("computedStyle.animation", "'myShorthandAnim 0s ease 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "'myShorthandAnim'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim 0s ease 0s 1 normal none running'");
shouldBe("checkAnimationShorthandValue()", "true");

style.animation = "none";
shouldNotBe("Object.keys(style).indexOf('animation')", "-1");
shouldBe("Object.keys(style).indexOf('webkitAnimation')", "-1");
shouldBe("style.animation", "'none'");
shouldBe("computedStyle.animation", "'none 0s ease 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "'none'");
shouldBe("computedStyle.webkitAnimation", "'none 0s ease 0s 1 normal none running'");
shouldBe("checkAnimationShorthandValue()", "true");

style.animation = "none 20s";
shouldBe("style.animation", "'20s none'");
shouldBe("computedStyle.animation", "'none 20s ease 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "'20s none'");
shouldBe("computedStyle.webkitAnimation", "'none 20s ease 0s 1 normal none running'");
shouldBe("checkAnimationShorthandValue()", "true");

style.animation = "myShorthandAnim none 20s";
shouldBe("style.animation", "'myShorthandAnim 20s none'");
shouldBe("computedStyle.animation", "'myShorthandAnim 20s ease 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "'myShorthandAnim 20s none'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim 20s ease 0s 1 normal none running'");
shouldBe("checkAnimationShorthandValue()", "true");

style.animation = "myShorthandAnim ease-in none 20s";
shouldBe("style.animation", "'myShorthandAnim 20s ease-in none'");
shouldBe("computedStyle.animation", "'myShorthandAnim 20s ease-in 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "'myShorthandAnim 20s ease-in none'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim 20s ease-in 0s 1 normal none running'");
shouldBe("checkAnimationShorthandValue()", "true");

style.animation = "myShorthandAnim ease-in 20s";
shouldBe("style.animation", "'myShorthandAnim 20s ease-in'");
shouldBe("computedStyle.animation", "'myShorthandAnim 20s ease-in 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "'myShorthandAnim 20s ease-in'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim 20s ease-in 0s 1 normal none running'");
shouldBe("checkAnimationShorthandValue()", "true");

style.animation = "myShorthandAnim ease-in 20s 10s";
shouldBe("style.animation", "'myShorthandAnim 20s ease-in 10s'");
shouldBe("computedStyle.animation", "'myShorthandAnim 20s ease-in 10s 1 normal none running'");
shouldBe("style.webkitAnimation", "'myShorthandAnim 20s ease-in 10s'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim 20s ease-in 10s 1 normal none running'");
// Let's double check here the delay and duration. As stated in the spec the first value parsed
// is assigned to the duration.
shouldBe("computedStyle.animationDuration", "'20s'");
shouldBe("computedStyle.webkitAnimationDuration", "'20s'");
shouldBe("computedStyle.animationDelay", "'10s'");
shouldBe("computedStyle.webkitAnimationDelay", "'10s'");
shouldBe("checkAnimationShorthandValue()", "true");

style.animation = "myShorthandAnim 20s ease-in 10s";
shouldBe("style.animation", "'myShorthandAnim 20s ease-in 10s'");
shouldBe("computedStyle.animation", "'myShorthandAnim 20s ease-in 10s 1 normal none running'");
shouldBe("style.webkitAnimation", "'myShorthandAnim 20s ease-in 10s'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim 20s ease-in 10s 1 normal none running'");
shouldBe("computedStyle.animationDuration", "'20s'");
shouldBe("computedStyle.webkitAnimationDuration", "'20s'");
shouldBe("computedStyle.animationDelay", "'10s'");
shouldBe("computedStyle.webkitAnimationDelay", "'10s'");
shouldBe("checkAnimationShorthandValue()", "true");

style.animation = "myShorthandAnim paused 20s ease-in 10s";
shouldBe("style.animation", "'myShorthandAnim 20s ease-in 10s paused'");
shouldBe("computedStyle.animation", "'myShorthandAnim 20s ease-in 10s 1 normal none paused'");
shouldBe("style.webkitAnimation", "'myShorthandAnim 20s ease-in 10s paused'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim 20s ease-in 10s 1 normal none paused'");
shouldBe("computedStyle.animationDuration", "'20s'");
shouldBe("computedStyle.webkitAnimationDuration", "'20s'");
shouldBe("computedStyle.animationDelay", "'10s'");
shouldBe("computedStyle.webkitAnimationDelay", "'10s'");
shouldBe("checkAnimationShorthandValue()", "true");

style.animation = "myShorthandAnim ease-in both 20s 5";
shouldBe("style.animation", "'myShorthandAnim 20s ease-in 5 both'");
shouldBe("computedStyle.animation", "'myShorthandAnim 20s ease-in 0s 5 normal both running'");
shouldBe("style.webkitAnimation", "'myShorthandAnim 20s ease-in 5 both'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim 20s ease-in 0s 5 normal both running'");
shouldBe("checkAnimationShorthandValue()", "true");

style.animation = "myShorthandAnim ease-in 20s 5 backwards";
shouldBe("style.animation", "'myShorthandAnim 20s ease-in 5 backwards'");
shouldBe("computedStyle.animation", "'myShorthandAnim 20s ease-in 0s 5 normal backwards running'");
shouldBe("style.webkitAnimation", "'myShorthandAnim 20s ease-in 5 backwards'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim 20s ease-in 0s 5 normal backwards running'");
shouldBe("checkAnimationShorthandValue()", "true");

style.animation = "myShorthandAnim forwards 20s 5";
shouldBe("style.animation", "'myShorthandAnim 20s 5 forwards'");
shouldBe("computedStyle.animation", "'myShorthandAnim 20s ease 0s 5 normal forwards running'");
shouldBe("style.webkitAnimation", "'myShorthandAnim 20s 5 forwards'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim 20s ease 0s 5 normal forwards running'");
shouldBe("checkAnimationShorthandValue()", "true");

style.animation = "myShorthandAnim ease-in 20s 5";
shouldBe("style.animation", "'myShorthandAnim 20s ease-in 5'");
shouldBe("computedStyle.animation", "'myShorthandAnim 20s ease-in 0s 5 normal none running'");
shouldBe("style.webkitAnimation", "'myShorthandAnim 20s ease-in 5'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim 20s ease-in 0s 5 normal none running'");
shouldBe("checkAnimationShorthandValue()", "true");

style.animation = "myShorthandAnim reverse ease-in 20s 5";
shouldBe("style.animation", "'myShorthandAnim 20s ease-in 5 reverse'");
shouldBe("computedStyle.animation", "'myShorthandAnim 20s ease-in 0s 5 reverse none running'");
shouldBe("style.webkitAnimation", "'myShorthandAnim 20s ease-in 5 reverse'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim 20s ease-in 0s 5 reverse none running'");
shouldBe("checkAnimationShorthandValue()", "true");

// FIXME : https://code.google.com/p/chromium/issues/detail?id=273092
/*style.animation = "ease-in ease-out 5s";
shouldBe("style.animation", "'ease-in ease-out 5s'");
shouldBe("computedStyle.animation", "'ease-in 0s ease-out 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "'ease-in ease-out 5s'");
shouldBe("computedStyle.webkitAnimation", "'ease-in 0s ease-out 0s 1 normal none running'");
shouldBe("computedStyle.animationName", "'ease-in'");*/

style.animation = "myShorthandAnim reverse ease-in backwards 20s 5 paused";
shouldBe("style.animation", "'myShorthandAnim 20s ease-in 5 reverse backwards paused'");
shouldBe("computedStyle.animation", "'myShorthandAnim 20s ease-in 0s 5 reverse backwards paused'");
shouldBe("style.webkitAnimation", "'myShorthandAnim 20s ease-in 5 reverse backwards paused'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim 20s ease-in 0s 5 reverse backwards paused'");
shouldBe("checkAnimationShorthandValue()", "true");

style.animation = "myShorthandAnim ease-in 20s 10s, width cubic-bezier(0.32, 0, 1, 1) 10s 20s";
shouldBe("style.animation", "'myShorthandAnim 20s ease-in 10s, width 10s cubic-bezier(0.32, 0, 1, 1) 20s'");
shouldBe("computedStyle.animation", "'myShorthandAnim 20s ease-in 10s 1 normal none running, width 10s cubic-bezier(0.32, 0, 1, 1) 20s 1 normal none running'");
shouldBe("style.webkitAnimation", "'myShorthandAnim 20s ease-in 10s, width 10s cubic-bezier(0.32, 0, 1, 1) 20s'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim 20s ease-in 10s 1 normal none running, width 10s cubic-bezier(0.32, 0, 1, 1) 20s 1 normal none running'");
// Let's double check here the delay and duration. As stated in the spec the first value parsed
// is assigned to the duration.
shouldBe("computedStyle.animationDuration", "'20s, 10s'");
shouldBe("computedStyle.webkitAnimationDuration", "'20s, 10s'");
shouldBe("computedStyle.animationDelay", "'10s, 20s'");
shouldBe("computedStyle.webkitAnimationDelay", "'10s, 20s'");
shouldBe("checkAnimationShorthandValue()", "true");

style.animation = "myShorthandAnim ease-in 20s 10s paused, width cubic-bezier(0.32, 0, 1, 1) 10s 20s";
shouldBe("style.animation", "'myShorthandAnim 20s ease-in 10s paused, width 10s cubic-bezier(0.32, 0, 1, 1) 20s'");
shouldBe("computedStyle.animation", "'myShorthandAnim 20s ease-in 10s 1 normal none paused, width 10s cubic-bezier(0.32, 0, 1, 1) 20s 1 normal none running'");
shouldBe("style.webkitAnimation", "'myShorthandAnim 20s ease-in 10s paused, width 10s cubic-bezier(0.32, 0, 1, 1) 20s'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim 20s ease-in 10s 1 normal none paused, width 10s cubic-bezier(0.32, 0, 1, 1) 20s 1 normal none running'");
// Let's double check here the delay and duration. As stated in the spec the first value parsed
// is assigned to the duration.
shouldBe("computedStyle.animationDuration", "'20s, 10s'");
shouldBe("computedStyle.webkitAnimationDuration", "'20s, 10s'");
shouldBe("computedStyle.animationDelay", "'10s, 20s'");
shouldBe("computedStyle.webkitAnimationDelay", "'10s, 20s'");
shouldBe("checkAnimationShorthandValue()", "true");

style.animation = "myShorthandAnim reverse ease-in 20s 10s paused, test cubic-bezier(0.32, 0, 1, 1) 10s 20s both";
shouldBe("style.animation", "'myShorthandAnim 20s ease-in 10s reverse paused, test 10s cubic-bezier(0.32, 0, 1, 1) 20s both'");
shouldBe("computedStyle.animation", "'myShorthandAnim 20s ease-in 10s 1 reverse none paused, test 10s cubic-bezier(0.32, 0, 1, 1) 20s 1 normal both running'");
shouldBe("style.webkitAnimation", "'myShorthandAnim 20s ease-in 10s reverse paused, test 10s cubic-bezier(0.32, 0, 1, 1) 20s both'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim 20s ease-in 10s 1 reverse none paused, test 10s cubic-bezier(0.32, 0, 1, 1) 20s 1 normal both running'");
shouldBe("checkAnimationShorthandValue()", "true");

style.animation = "none, none";
shouldBe("style.animation", "'none, none'");
shouldBe("computedStyle.animation", "'none 0s ease 0s 1 normal none running, none 0s ease 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "'none, none'");
shouldBe("computedStyle.webkitAnimation", "'none 0s ease 0s 1 normal none running, none 0s ease 0s 1 normal none running'");

style.animation = "ease-in test 20s 10s, none";
shouldBe("style.animation", "'test 20s ease-in 10s, none'");
shouldBe("computedStyle.animation", "'test 20s ease-in 10s 1 normal none running, none 0s ease 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "'test 20s ease-in 10s, none'");
shouldBe("computedStyle.webkitAnimation", "'test 20s ease-in 10s 1 normal none running, none 0s ease 0s 1 normal none running'");
shouldBe("computedStyle.animationName", "'test, none'");

style.animation = "none, ease-in test 20s 10s";
shouldBe("style.animation", "'none, test 20s ease-in 10s'");
shouldBe("computedStyle.animation", "'none 0s ease 0s 1 normal none running, test 20s ease-in 10s 1 normal none running'");
shouldBe("style.webkitAnimation", "'none, test 20s ease-in 10s'");
shouldBe("computedStyle.webkitAnimation", "'none 0s ease 0s 1 normal none running, test 20s ease-in 10s 1 normal none running'");
shouldBe("computedStyle.animationName", "'none, test'");

style.animation = "myShorthandAnim both 20s 10s ease-in paused, myShorthandAnim ease-out 20s";
shouldBe("style.animation", "'myShorthandAnim 20s ease-in 10s both paused, myShorthandAnim 20s ease-out'");
shouldBe("computedStyle.animation", "'myShorthandAnim 20s ease-in 10s 1 normal both paused, myShorthandAnim 20s ease-out 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "'myShorthandAnim 20s ease-in 10s both paused, myShorthandAnim 20s ease-out'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim 20s ease-in 10s 1 normal both paused, myShorthandAnim 20s ease-out 0s 1 normal none running'");

style.animation = "myShorthandAnim ease-in 4 20s 10s backwards, myShorthandAnim2 50 ease-out 20s";
shouldBe("style.animation", "'myShorthandAnim 20s ease-in 10s 4 backwards, myShorthandAnim2 20s ease-out 50'");
shouldBe("computedStyle.animation", "'myShorthandAnim 20s ease-in 10s 4 normal backwards running, myShorthandAnim2 20s ease-out 0s 50 normal none running'");
shouldBe("style.webkitAnimation", "'myShorthandAnim 20s ease-in 10s 4 backwards, myShorthandAnim2 20s ease-out 50'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim 20s ease-in 10s 4 normal backwards running, myShorthandAnim2 20s ease-out 0s 50 normal none running'");
shouldBe("checkAnimationShorthandValue()", "true");

style.animation = "myShorthandAnim2 reverse ease-out 20s, ease-in myShorthandAnim 20s 10s paused";
shouldBe("style.animation", "'myShorthandAnim2 20s ease-out reverse, myShorthandAnim 20s ease-in 10s paused'");
shouldBe("computedStyle.animation", "'myShorthandAnim2 20s ease-out 0s 1 reverse none running, myShorthandAnim 20s ease-in 10s 1 normal none paused'");
shouldBe("style.webkitAnimation", "'myShorthandAnim2 20s ease-out reverse, myShorthandAnim 20s ease-in 10s paused'");
shouldBe("computedStyle.webkitAnimation", "'myShorthandAnim2 20s ease-out 0s 1 reverse none running, myShorthandAnim 20s ease-in 10s 1 normal none paused'");
shouldBe("checkAnimationShorthandValue()", "true");

debug("Invalid animation shorthand values.");
style.animation = "";

style.animation = "solid red";
shouldBe("style.animation", "''");
shouldBe("computedStyle.animation", "'none 0s ease 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "''");
shouldBe("computedStyle.webkitAnimation", "'none 0s ease 0s 1 normal none running'");

style.animation = "all 30s width ease-in";
shouldBe("style.animation", "''");
shouldBe("computedStyle.animation", "'none 0s ease 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "''");
shouldBe("computedStyle.webkitAnimation", "'none 0s ease 0s 1 normal none running'");

style.animation = "animName 30s ease-in 20s, 20px";
shouldBe("style.animation", "''");
shouldBe("computedStyle.animation", "'none 0s ease 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "''");
shouldBe("computedStyle.webkitAnimation", "'none 0s ease 0s 1 normal none running'");

style.animation = "test 30s ease-in 20s, step-start(2)";
shouldBe("style.animation", "''");
shouldBe("computedStyle.animation", "'none 0s ease 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "''");
shouldBe("computedStyle.webkitAnimation", "'none 0s ease 0s 1 normal none running'");

style.animation = "ease-in opacity 20s 10s myAnim, none";
shouldBe("style.animation", "''");
shouldBe("computedStyle.animation", "'none 0s ease 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "''");
shouldBe("computedStyle.webkitAnimation", "'none 0s ease 0s 1 normal none running'");

style.animation = "none, ease-in opacity 20s 10s myAnim";
shouldBe("style.animation", "''");
shouldBe("computedStyle.animation", "'none 0s ease 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "''");
shouldBe("computedStyle.webkitAnimation", "'none 0s ease 0s 1 normal none running'");

style.animation = ",";
shouldBe("style.animation", "''");
shouldBe("computedStyle.animation", "'none 0s ease 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "''");
shouldBe("computedStyle.webkitAnimation", "'none 0s ease 0s 1 normal none running'");

style.animation = "running,";
shouldBe("style.animation", "''");
shouldBe("computedStyle.animation", "'none 0s ease 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "''");
shouldBe("computedStyle.webkitAnimation", "'none 0s ease 0s 1 normal none running'");

style.animation = ", alternate";
shouldBe("style.animation", "''");
shouldBe("computedStyle.animation", "'none 0s ease 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "''");
shouldBe("computedStyle.webkitAnimation", "'none 0s ease 0s 1 normal none running'");

style.animation = ", commas,";
shouldBe("style.animation", "''");
shouldBe("computedStyle.animation", "'none 0s ease 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "''");
shouldBe("computedStyle.webkitAnimation", "'none 0s ease 0s 1 normal none running'");

style.animation = "test,, 5s";
shouldBe("style.animation", "''");
shouldBe("computedStyle.animation", "'none 0s ease 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "''");
shouldBe("computedStyle.webkitAnimation", "'none 0s ease 0s 1 normal none running'");

// FIXME : https://code.google.com/p/chromium/issues/detail?id=273092
/*style.animation = "ease-in ease-otu 5s";
shouldBe("style.animation", "''");
shouldBe("computedStyle.animation", "'none 0s ease 0s 1 normal none running'");
shouldBe("style.webkitAnimation", "''");
shouldBe("computedStyle.webkitAnimation", "'none 0s ease 0s 1 normal none running'");*/

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