Bug 1488688 [wpt PR 12844] - CSS animations and transitions property parsing, a=testonly
authorEric Willigers <ewilligers@users.noreply.github.com>
Tue, 11 Sep 2018 10:00:26 +0000
changeset 436004 4d17327891a44225d1c5d40c153b7bab27d50550
parent 436003 1e57e2191f0dd0e922ea68b0b8a41e976d7a2974
child 436005 7d2f7413f789de8d915fe6f3a7d4b39690eec6f5
push id34625
push userdvarga@mozilla.com
push dateThu, 13 Sep 2018 02:31:40 +0000
treeherdermozilla-central@51e9e9660b3e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstestonly
bugs1488688, 12844
milestone64.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1488688 [wpt PR 12844] - CSS animations and transitions property parsing, a=testonly Automatic update from web-platform-testsMerge pull request #12844 from ewilligers/animations-transitions-parsing CSS animations and transitions property parsing -- wpt-commits: 65443d221765c0bbcb5b798816cd832f2f26c0c3 wpt-pr: 12844
testing/web-platform/meta/MANIFEST.json
testing/web-platform/tests/css/css-animations/parsing/animation-delay-invalid.html
testing/web-platform/tests/css/css-animations/parsing/animation-delay-valid.html
testing/web-platform/tests/css/css-animations/parsing/animation-direction-invalid.html
testing/web-platform/tests/css/css-animations/parsing/animation-direction-valid.html
testing/web-platform/tests/css/css-animations/parsing/animation-duration-invalid.html
testing/web-platform/tests/css/css-animations/parsing/animation-duration-valid.html
testing/web-platform/tests/css/css-animations/parsing/animation-fill-mode-invalid.html
testing/web-platform/tests/css/css-animations/parsing/animation-fill-mode-valid.html
testing/web-platform/tests/css/css-animations/parsing/animation-iteration-count-invalid.html
testing/web-platform/tests/css/css-animations/parsing/animation-iteration-count-valid.html
testing/web-platform/tests/css/css-animations/parsing/animation-name-invalid.html
testing/web-platform/tests/css/css-animations/parsing/animation-name-valid.html
testing/web-platform/tests/css/css-animations/parsing/animation-play-state-invalid.html
testing/web-platform/tests/css/css-animations/parsing/animation-play-state-valid.html
testing/web-platform/tests/css/css-animations/parsing/animation-timing-function-invalid.html
testing/web-platform/tests/css/css-animations/parsing/animation-timing-function-valid.html
testing/web-platform/tests/css/css-transitions/parsing/transition-delay-invalid.html
testing/web-platform/tests/css/css-transitions/parsing/transition-delay-valid.html
testing/web-platform/tests/css/css-transitions/parsing/transition-duration-invalid.html
testing/web-platform/tests/css/css-transitions/parsing/transition-duration-valid.html
testing/web-platform/tests/css/css-transitions/parsing/transition-property-invalid.html
testing/web-platform/tests/css/css-transitions/parsing/transition-property-valid.html
testing/web-platform/tests/css/css-transitions/parsing/transition-timing-function-invalid.html
testing/web-platform/tests/css/css-transitions/parsing/transition-timing-function-valid.html
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -331578,16 +331578,112 @@
     ]
    ],
    "css/css-animations/idlharness.html": [
     [
      "/css/css-animations/idlharness.html",
      {}
     ]
    ],
+   "css/css-animations/parsing/animation-delay-invalid.html": [
+    [
+     "/css/css-animations/parsing/animation-delay-invalid.html",
+     {}
+    ]
+   ],
+   "css/css-animations/parsing/animation-delay-valid.html": [
+    [
+     "/css/css-animations/parsing/animation-delay-valid.html",
+     {}
+    ]
+   ],
+   "css/css-animations/parsing/animation-direction-invalid.html": [
+    [
+     "/css/css-animations/parsing/animation-direction-invalid.html",
+     {}
+    ]
+   ],
+   "css/css-animations/parsing/animation-direction-valid.html": [
+    [
+     "/css/css-animations/parsing/animation-direction-valid.html",
+     {}
+    ]
+   ],
+   "css/css-animations/parsing/animation-duration-invalid.html": [
+    [
+     "/css/css-animations/parsing/animation-duration-invalid.html",
+     {}
+    ]
+   ],
+   "css/css-animations/parsing/animation-duration-valid.html": [
+    [
+     "/css/css-animations/parsing/animation-duration-valid.html",
+     {}
+    ]
+   ],
+   "css/css-animations/parsing/animation-fill-mode-invalid.html": [
+    [
+     "/css/css-animations/parsing/animation-fill-mode-invalid.html",
+     {}
+    ]
+   ],
+   "css/css-animations/parsing/animation-fill-mode-valid.html": [
+    [
+     "/css/css-animations/parsing/animation-fill-mode-valid.html",
+     {}
+    ]
+   ],
+   "css/css-animations/parsing/animation-iteration-count-invalid.html": [
+    [
+     "/css/css-animations/parsing/animation-iteration-count-invalid.html",
+     {}
+    ]
+   ],
+   "css/css-animations/parsing/animation-iteration-count-valid.html": [
+    [
+     "/css/css-animations/parsing/animation-iteration-count-valid.html",
+     {}
+    ]
+   ],
+   "css/css-animations/parsing/animation-name-invalid.html": [
+    [
+     "/css/css-animations/parsing/animation-name-invalid.html",
+     {}
+    ]
+   ],
+   "css/css-animations/parsing/animation-name-valid.html": [
+    [
+     "/css/css-animations/parsing/animation-name-valid.html",
+     {}
+    ]
+   ],
+   "css/css-animations/parsing/animation-play-state-invalid.html": [
+    [
+     "/css/css-animations/parsing/animation-play-state-invalid.html",
+     {}
+    ]
+   ],
+   "css/css-animations/parsing/animation-play-state-valid.html": [
+    [
+     "/css/css-animations/parsing/animation-play-state-valid.html",
+     {}
+    ]
+   ],
+   "css/css-animations/parsing/animation-timing-function-invalid.html": [
+    [
+     "/css/css-animations/parsing/animation-timing-function-invalid.html",
+     {}
+    ]
+   ],
+   "css/css-animations/parsing/animation-timing-function-valid.html": [
+    [
+     "/css/css-animations/parsing/animation-timing-function-valid.html",
+     {}
+    ]
+   ],
    "css/css-animations/pending-style-changes-001.html": [
     [
      "/css/css-animations/pending-style-changes-001.html",
      {}
     ]
    ],
    "css/css-backgrounds/background-331.html": [
     [
@@ -337870,16 +337966,64 @@
     ]
    ],
    "css/css-transitions/idlharness.html": [
     [
      "/css/css-transitions/idlharness.html",
      {}
     ]
    ],
+   "css/css-transitions/parsing/transition-delay-invalid.html": [
+    [
+     "/css/css-transitions/parsing/transition-delay-invalid.html",
+     {}
+    ]
+   ],
+   "css/css-transitions/parsing/transition-delay-valid.html": [
+    [
+     "/css/css-transitions/parsing/transition-delay-valid.html",
+     {}
+    ]
+   ],
+   "css/css-transitions/parsing/transition-duration-invalid.html": [
+    [
+     "/css/css-transitions/parsing/transition-duration-invalid.html",
+     {}
+    ]
+   ],
+   "css/css-transitions/parsing/transition-duration-valid.html": [
+    [
+     "/css/css-transitions/parsing/transition-duration-valid.html",
+     {}
+    ]
+   ],
+   "css/css-transitions/parsing/transition-property-invalid.html": [
+    [
+     "/css/css-transitions/parsing/transition-property-invalid.html",
+     {}
+    ]
+   ],
+   "css/css-transitions/parsing/transition-property-valid.html": [
+    [
+     "/css/css-transitions/parsing/transition-property-valid.html",
+     {}
+    ]
+   ],
+   "css/css-transitions/parsing/transition-timing-function-invalid.html": [
+    [
+     "/css/css-transitions/parsing/transition-timing-function-invalid.html",
+     {}
+    ]
+   ],
+   "css/css-transitions/parsing/transition-timing-function-valid.html": [
+    [
+     "/css/css-transitions/parsing/transition-timing-function-valid.html",
+     {}
+    ]
+   ],
    "css/css-transitions/properties-value-001.html": [
     [
      "/css/css-transitions/properties-value-001.html",
      {}
     ]
    ],
    "css/css-transitions/properties-value-002.html": [
     [
@@ -523391,16 +523535,80 @@
   "css/css-animations/event-order.tentative.html": [
    "93d452ace07163b10af18245d6799d9823448e1e",
    "testharness"
   ],
   "css/css-animations/idlharness.html": [
    "1d3ed2b9b806792c7efaeeee9ab264101dd222bc",
    "testharness"
   ],
+  "css/css-animations/parsing/animation-delay-invalid.html": [
+   "a58d2cd11bc572d3a7899fb70b8b04adbd76a713",
+   "testharness"
+  ],
+  "css/css-animations/parsing/animation-delay-valid.html": [
+   "5ff0416cc64241f81025f39af20d186042d49a30",
+   "testharness"
+  ],
+  "css/css-animations/parsing/animation-direction-invalid.html": [
+   "0b48d97f0a1bb670daec7335049aa486810a2cde",
+   "testharness"
+  ],
+  "css/css-animations/parsing/animation-direction-valid.html": [
+   "bcc9acc3428cfcdadc6d48fc0fa01d51eb747452",
+   "testharness"
+  ],
+  "css/css-animations/parsing/animation-duration-invalid.html": [
+   "5edacd3735e4f3ac0c0724415b3ca0052f10d33b",
+   "testharness"
+  ],
+  "css/css-animations/parsing/animation-duration-valid.html": [
+   "e65a1a707246eb2c1773da17c355d71118fd0db4",
+   "testharness"
+  ],
+  "css/css-animations/parsing/animation-fill-mode-invalid.html": [
+   "dda2221f4746a64778ea4c5a82fa42c35243a342",
+   "testharness"
+  ],
+  "css/css-animations/parsing/animation-fill-mode-valid.html": [
+   "1f73a821d15119d6a8fc2720d53f6cefdd29fb5d",
+   "testharness"
+  ],
+  "css/css-animations/parsing/animation-iteration-count-invalid.html": [
+   "ff1e8e23a08cf58c08922eb40145e916852c0562",
+   "testharness"
+  ],
+  "css/css-animations/parsing/animation-iteration-count-valid.html": [
+   "be8a83798908a6771b935e38fe7a8608be9821ed",
+   "testharness"
+  ],
+  "css/css-animations/parsing/animation-name-invalid.html": [
+   "77d53f990b1607c07a07648b5f0283f9fb5e4fbf",
+   "testharness"
+  ],
+  "css/css-animations/parsing/animation-name-valid.html": [
+   "9ed73d4d15ff615c4318719bc8802796a88149c8",
+   "testharness"
+  ],
+  "css/css-animations/parsing/animation-play-state-invalid.html": [
+   "f47a2f75ddfc35a279037ada8df34077bd1308ab",
+   "testharness"
+  ],
+  "css/css-animations/parsing/animation-play-state-valid.html": [
+   "ce6d053ec2736ec8d5e8420b3d1a1e4f07fd04ed",
+   "testharness"
+  ],
+  "css/css-animations/parsing/animation-timing-function-invalid.html": [
+   "adc1cc10e39d09df78c4398ffca008739d751076",
+   "testharness"
+  ],
+  "css/css-animations/parsing/animation-timing-function-valid.html": [
+   "63e2805485bfb1f8db9dfe3ad70979ade7e11cd4",
+   "testharness"
+  ],
   "css/css-animations/pending-style-changes-001.html": [
    "fb74d7fa7d062d60153d47913df9eb2b0c7267c8",
    "testharness"
   ],
   "css/css-animations/support/testcommon.js": [
    "b4fde4b967de2eb67cb3e0819c3a896375e861f9",
    "support"
   ],
@@ -563123,16 +563331,48 @@
   "css/css-transitions/hidden-container-001.html": [
    "4d17d4ad41e73c4c5e7830d10973384614353ce5",
    "testharness"
   ],
   "css/css-transitions/idlharness.html": [
    "4cc7ee50eb4915fcf95843f7eeee266abfa7b81a",
    "testharness"
   ],
+  "css/css-transitions/parsing/transition-delay-invalid.html": [
+   "b34d50551ce433ebe672c7fddb4a549582c754db",
+   "testharness"
+  ],
+  "css/css-transitions/parsing/transition-delay-valid.html": [
+   "d6b42b9c059456f10c425f7217ade6b2cd84c1f4",
+   "testharness"
+  ],
+  "css/css-transitions/parsing/transition-duration-invalid.html": [
+   "fd0f341f4071b53561cf8b072bb105d3bd1a4563",
+   "testharness"
+  ],
+  "css/css-transitions/parsing/transition-duration-valid.html": [
+   "311ca086695151747559a0995b61c7fe4c755592",
+   "testharness"
+  ],
+  "css/css-transitions/parsing/transition-property-invalid.html": [
+   "903a206eac13688a51ff2ba88552de67efa2e9cb",
+   "testharness"
+  ],
+  "css/css-transitions/parsing/transition-property-valid.html": [
+   "4e3894f5aa94e00aa59406ee1aab92b9226483af",
+   "testharness"
+  ],
+  "css/css-transitions/parsing/transition-timing-function-invalid.html": [
+   "936defa6cce5dd7b69bf9344c60add178de6589a",
+   "testharness"
+  ],
+  "css/css-transitions/parsing/transition-timing-function-valid.html": [
+   "e11ef0002e43b65e06c8aec7dffab2fe7d48377f",
+   "testharness"
+  ],
   "css/css-transitions/properties-value-001.html": [
    "9182930ed78f9ff2adbc4754a8613fc0316b868a",
    "testharness"
   ],
   "css/css-transitions/properties-value-002.html": [
    "7298070b1e35d82ede14f059b8799e057671a771",
    "testharness"
   ],
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-animations/parsing/animation-delay-invalid.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Animations: parsing animation-delay with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-delay">
+<meta name="assert" content="animation-delay supports only the grammar '<single-animation-play-state> #'.">
+<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("animation-delay", "infinite");
+test_invalid_value("animation-delay", "0");
+test_invalid_value("animation-delay", "1s 2s");
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-animations/parsing/animation-delay-valid.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Animations: parsing animation-delay with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-delay">
+<meta name="assert" content="animation-delay supports the full grammar '<single-animation-play-state> #'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("animation-delay", "-5ms");
+test_valid_value("animation-delay", "0s");
+test_valid_value("animation-delay", "10s");
+test_valid_value("animation-delay", "20s, 10s");
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-animations/parsing/animation-direction-invalid.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Animations: parsing animation-direction with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-direction">
+<meta name="assert" content="animation-direction supports only the grammar '<single-animation-direction> #'.">
+<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("animation-direction", "auto");
+test_invalid_value("animation-direction", "normal reverse");
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-animations/parsing/animation-direction-valid.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Animations: parsing animation-direction with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-direction">
+<meta name="assert" content="animation-direction supports the full grammar '<single-animation-direction> #'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("animation-direction", "normal");
+test_valid_value("animation-direction", "reverse");
+test_valid_value("animation-direction", "alternate");
+test_valid_value("animation-direction", "alternate-reverse");
+test_valid_value("animation-direction", "normal, reverse, alternate, alternate-reverse");
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-animations/parsing/animation-duration-invalid.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Animations: parsing animation-duration with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-duration">
+<meta name="assert" content="animation-duration supports only the grammar '<time> #'.">
+<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("animation-duration", '-3s');
+test_invalid_value("animation-duration", '0');
+test_invalid_value("animation-duration", 'infinite');
+test_invalid_value("animation-duration", '1s 2s');
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-animations/parsing/animation-duration-valid.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Animations: parsing animation-duration with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-duration">
+<meta name="assert" content="animation-duration supports the full grammar '<time> #'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("animation-duration", '3s');
+test_valid_value("animation-duration", '500ms');
+test_valid_value("animation-duration", '1s, 2s, 3s');
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-animations/parsing/animation-fill-mode-invalid.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Animations: parsing animation-fill-mode with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-fill-mode">
+<meta name="assert" content="animation-fill-mode supports only the grammar '<single-animation-fill-mode> #'.">
+<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("animation-fill-mode", "auto");
+test_invalid_value("animation-fill-mode", "forwards backwards");
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-animations/parsing/animation-fill-mode-valid.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Animations: parsing animation-fill-mode with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-fill-mode">
+<meta name="assert" content="animation-fill-mode supports the full grammar '<single-animation-fill-mode> #'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("animation-fill-mode", "none");
+test_valid_value("animation-fill-mode", "forwards");
+test_valid_value("animation-fill-mode", "backwards");
+test_valid_value("animation-fill-mode", "both");
+test_valid_value("animation-fill-mode", "none, forwards, backwards, both");
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-animations/parsing/animation-iteration-count-invalid.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Animations: parsing animation-iteration-count with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-iteration-count">
+<meta name="assert" content="animation-iteration-count supports only the grammar '<single-animation-iteration-count> #'.">
+<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("animation-iteration-count", "auto");
+test_invalid_value("animation-iteration-count", "-2");
+test_invalid_value("animation-iteration-count", "3 4");
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-animations/parsing/animation-iteration-count-valid.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Animations: parsing animation-iteration-count with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-iteration-count">
+<meta name="assert" content="animation-iteration-count supports the full grammar '<single-animation-iteration-count> #'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("animation-iteration-count", "0");
+test_valid_value("animation-iteration-count", "3");
+test_valid_value("animation-iteration-count", "4.5");
+test_valid_value("animation-iteration-count", "infinite");
+
+test_valid_value("animation-iteration-count", "0, infinite, 3");
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-animations/parsing/animation-name-invalid.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Animations: parsing animation-name with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-name">
+<meta name="assert" content="animation-name supports only the grammar '[ none | <keyframes-name> ]#'.">
+<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("animation-name", '12');
+test_invalid_value("animation-name", 'one two');
+
+test_invalid_value("animation-name", 'one, initial');
+test_invalid_value("animation-name", 'one, inherit');
+test_invalid_value("animation-name", 'one, unset');
+test_invalid_value("animation-name", 'default, two');
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-animations/parsing/animation-name-valid.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Animations: parsing animation-name with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-name">
+<meta name="assert" content="animation-name supports the full grammar '[ none | <keyframes-name> ]#'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("animation-name", 'NONE', 'none');
+
+test_valid_value("animation-name", 'foo');
+test_valid_value("animation-name", 'Both');
+test_valid_value("animation-name", 'ease-in');
+test_valid_value("animation-name", 'infinite');
+test_valid_value("animation-name", 'paused');
+test_valid_value("animation-name", 'first, second, third');
+
+test_valid_value("animation-name", '"string"');
+test_valid_value("animation-name", '"multi word string"');
+test_valid_value("animation-name", '"initial"');
+test_valid_value("animation-name", '"---\\22---"', '\"---\\\"---\"');
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-animations/parsing/animation-play-state-invalid.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Animations: parsing animation-play-state with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-play-state">
+<meta name="assert" content="animation-play-state supports only the grammar '<single-animation-play-state> #'.">
+<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("animation-play-state", "auto");
+test_invalid_value("animation-play-state", "paused running");
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-animations/parsing/animation-play-state-valid.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Animations: parsing animation-play-state with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-play-state">
+<meta name="assert" content="animation-play-state supports the full grammar '<single-animation-play-state> #'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("animation-play-state", "running");
+test_valid_value("animation-play-state", "paused");
+test_valid_value("animation-play-state", "running, paused");
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-animations/parsing/animation-timing-function-invalid.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Animations: parsing animation-timing-function with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-timing-function">
+<meta name="assert" content="animation-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("animation-timing-function", "auto");
+test_invalid_value("animation-timing-function", "ease-in ease-out");
+test_invalid_value("animation-timing-function", "cubic-bezier(1, 2, 3)");
+test_invalid_value("animation-timing-function", "cubic-bezier(1, 2, 3, infinite)");
+test_invalid_value("animation-timing-function", "cubic-bezier(1, 2, 3, 4, 5)");
+test_invalid_value("animation-timing-function", "cubic-bezier(-0.1, 0.1, 0.5, 0.9)");
+test_invalid_value("animation-timing-function", "cubic-bezier(0.5, 0.1, 1.1, 0.9)");
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-animations/parsing/animation-timing-function-valid.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Animations: parsing animation-timing-function with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-animations/#propdef-animation-timing-function">
+<meta name="assert" content="animation-timing-function supports the full 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_valid_value("animation-timing-function", "linear");
+
+test_valid_value("animation-timing-function", "ease");
+test_valid_value("animation-timing-function", "ease-in");
+test_valid_value("animation-timing-function", "ease-out");
+test_valid_value("animation-timing-function", "ease-in-out");
+test_valid_value("animation-timing-function", "cubic-bezier(0.1, 0.2, 0.8, 0.9)");
+test_valid_value("animation-timing-function", "cubic-bezier(0, -2, 1, 3)");
+test_valid_value("animation-timing-function", "cubic-bezier(0, 0.7, 1, 1.3)");
+
+
+test_valid_value("animation-timing-function", "steps(4, start)");
+test_valid_value("animation-timing-function", "steps(2, end)");
+
+test_valid_value("animation-timing-function", "linear, ease, linear");
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-transitions/parsing/transition-delay-invalid.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Transitions: parsing transition-delay with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-transitions/#propdef-transition-delay">
+<meta name="assert" content="transition-delay supports only the grammar '<time> #'.">
+<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-delay", 'infinite');
+test_invalid_value("transition-delay", '0');
+test_invalid_value("transition-delay", '500ms 0.5s');
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-transitions/parsing/transition-delay-valid.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Transitions: parsing transition-delay with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-transitions/#propdef-transition-delay">
+<meta name="assert" content="transition-delay supports the full grammar '<time> #'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("transition-delay", '0s');
+test_valid_value("transition-delay", '500ms');
+test_valid_value("transition-delay", '1s, 2s');
+test_valid_value("transition-delay", '-1s, -2s');
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-transitions/parsing/transition-duration-invalid.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Transitions: parsing transition-duration with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-transitions/#propdef-transition-duration">
+<meta name="assert" content="transition-duration supports only the grammar '<time> #'.">
+<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-duration", 'infinite');
+test_invalid_value("transition-duration", '-500ms');
+test_invalid_value("transition-duration", '1s 2s');
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-transitions/parsing/transition-duration-valid.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Transitions: parsing transition-duration with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-transitions/#propdef-transition-duration">
+<meta name="assert" content="transition-duration supports the full grammar '<time> #'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("transition-duration", '0s');
+test_valid_value("transition-duration", '500ms');
+test_valid_value("transition-duration", '1s, 2s');
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-transitions/parsing/transition-property-invalid.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Transitions: parsing transition-property with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-transitions/#propdef-transition-property">
+<meta name="assert" content="transition-property supports only the grammar 'none | <single-transition-property> #'.">
+<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-property", 'one two three');
+test_invalid_value("transition-property", '1, 2, 3');
+test_invalid_value("transition-property", 'none, one');
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-transitions/parsing/transition-property-valid.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Transitions: parsing transition-property with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-transitions/#propdef-transition-property">
+<meta name="assert" content="transition-property supports the full grammar 'none | <single-transition-property> #'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("transition-property", 'none');
+test_valid_value("transition-property", 'all');
+test_valid_value("transition-property", 'one');
+test_valid_value("transition-property", 'one-two-three');
+test_valid_value("transition-property", 'one, two, three');
+test_valid_value("transition-property", 'width, all');
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-transitions/parsing/transition-timing-function-invalid.html
@@ -0,0 +1,24 @@
+<!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-timing-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(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)");
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-transitions/parsing/transition-timing-function-valid.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Transitions: parsing transition-timing-function with valid 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-timing-1/#typedef-timing-function">
+<meta name="assert" content="transition-timing-function supports the full 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_valid_value("transition-timing-function", "linear");
+
+test_valid_value("transition-timing-function", "ease");
+test_valid_value("transition-timing-function", "ease-in");
+test_valid_value("transition-timing-function", "ease-out");
+test_valid_value("transition-timing-function", "ease-in-out");
+test_valid_value("transition-timing-function", "cubic-bezier(0.1, 0.2, 0.8, 0.9)");
+test_valid_value("transition-timing-function", "cubic-bezier(0, -2, 1, 3)");
+test_valid_value("transition-timing-function", "cubic-bezier(0, 0.7, 1, 1.3)");
+
+test_valid_value("transition-timing-function", "steps(4, start)");
+test_valid_value("transition-timing-function", "steps(2, end)");
+
+test_valid_value("transition-timing-function", "linear, ease, linear");
+</script>
+</body>
+</html>