<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Animations: parsing transition-timing-function with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-transitions/#propdef-transition-timing-function">
<link rel="help" href="https://drafts.csswg.org/css-easing-1/#typedef-timing-function">
<meta name="assert" content="transition-timing-function supports only the grammar '<timing-function> #'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("transition-timing-function", "auto");
test_invalid_value("transition-timing-function", "ease-in ease-out");

test_invalid_value("transition-timing-function", "cubic-bezier(foobar)");
test_invalid_value("transition-timing-function", "cubic-bezier(1, 2, 3)");
test_invalid_value("transition-timing-function", "cubic-bezier(1, 2, 3, infinite)");
test_invalid_value("transition-timing-function", "cubic-bezier(1, 2, 3, 4, 5)");
test_invalid_value("transition-timing-function", "cubic-bezier(-0.1, 0.1, 0.5, 0.9)");
test_invalid_value("transition-timing-function", "cubic-bezier(0.5, 0.1, 1.1, 0.9)");

test_invalid_value("transition-timing-function", "steps(foobar)");
test_invalid_value("transition-timing-function", "steps(3.3, end)");
test_invalid_value("transition-timing-function", "steps(3, top)");
test_invalid_value("transition-timing-function", "steps(-3, top)");
test_invalid_value("transition-timing-function", "steps(0, jump-start)");
test_invalid_value("transition-timing-function", "steps(0, jump-end)");
test_invalid_value("transition-timing-function", "steps(0, jump-both)");
test_invalid_value("transition-timing-function", "steps(1, jump-none)");

test_invalid_value("transition-timing-function", "initial, cubic-bezier(0, -2, 1, 3)");
test_invalid_value("transition-timing-function", "cubic-bezier(0, -2, 1, 3), initial");
</script>
</body>
</html>
