Bug 1368610 - Part 6: Add tests for valid inherit value during animation. r?hiro draft
authorDaisuke Akatsuka <dakatsuka@mozilla.com>
Fri, 09 Jun 2017 16:07:23 +0900
changeset 591562 e6c89bee6729732daeba9a5d71283a65c55eb3f2
parent 591561 6e0ced727ba4daccb316ef5d227e796b58198cf6
child 632544 65a001cacdf626359de5c20e85aaa20b09bc219f
push id63087
push userbmo:dakatsuka@mozilla.com
push dateFri, 09 Jun 2017 07:10:42 +0000
reviewershiro
bugs1368610
milestone55.0a1
Bug 1368610 - Part 6: Add tests for valid inherit value during animation. r?hiro This tests are to confirm either we could get valid value of 'inherit' of keyframe. Also, this tests are for clone_XX methods of stylo as well. MozReview-Commit-ID: J6HZBRZB5am
testing/web-platform/meta/MANIFEST.json
testing/web-platform/meta/web-animations/animation-model/keyframe-effects/calculating-computed-keyframes.html.ini
testing/web-platform/mozilla/meta/MANIFEST.json
testing/web-platform/tests/web-animations/animation-model/animation-types/property-list.js
testing/web-platform/tests/web-animations/animation-model/keyframe-effects/calculating-computed-keyframes.html
testing/web-platform/tests/web-animations/testcommon.js
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -129698,16 +129698,22 @@
     ]
    ],
    "web-animations/animation-model/combining-effects/effect-composition.html": [
     [
      "/web-animations/animation-model/combining-effects/effect-composition.html",
      {}
     ]
    ],
+   "web-animations/animation-model/keyframe-effects/calculating-computed-keyframes.html": [
+    [
+     "/web-animations/animation-model/keyframe-effects/calculating-computed-keyframes.html",
+     {}
+    ]
+   ],
    "web-animations/animation-model/keyframe-effects/effect-value-context.html": [
     [
      "/web-animations/animation-model/keyframe-effects/effect-value-context.html",
      {}
     ]
    ],
    "web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html": [
     [
@@ -174474,17 +174480,17 @@
    "9a7ed5f97f7eff3f6711325dea7dcca1323d3bde",
    "support"
   ],
   "encrypted-media/scripts/playback-temporary.js": [
    "ac2f3395cd63f1fe4c243265c59fc3f503f09926",
    "support"
   ],
   "encrypted-media/scripts/requestmediakeysystemaccess.js": [
-   "1a17a323605ff3882b8e9d8ac4b48f1a2d592d97",
+   "6a40a2db2ae0657bda978bcaee1a12f7670634bb",
    "support"
   ],
   "encrypted-media/scripts/reset-src-after-setmediakeys.js": [
    "5c82378ce1dd5c9991b78668d7cfd0e02c2d1b5e",
    "support"
   ],
   "encrypted-media/scripts/setmediakeys-again-after-playback.js": [
    "fc6557f201aad3dfcd5df83a96d40fdbf752d009",
@@ -191754,17 +191760,17 @@
    "febb81c38f530c81d9e9837df2c6d603225ecfd1",
    "testharness"
   ],
   "html/webappapis/idle-callbacks/callback-timeout.html": [
    "ba76964575cdf9b433f26c8a5d7a8183ab5c16e9",
    "testharness"
   ],
   "html/webappapis/idle-callbacks/callback-xhr-sync.html": [
-   "79b4a278f0e35646cfdffeebf8f0523e2772bc9b",
+   "272a688feaefc3c1ebab315ae9f4633f11a966f1",
    "testharness"
   ],
   "html/webappapis/idle-callbacks/cancel-invoked.html": [
    "30787d765fa435c1392bd852559042bf3c2e2553",
    "testharness"
   ],
   "html/webappapis/idle-callbacks/idlharness.html": [
    "520ee58982b43875f3caa08d7f46b9c6311be0b6",
@@ -193398,17 +193404,17 @@
    "ce791120236e6304b41ba3c085a8f9164f6da4ca",
    "testharness"
   ],
   "media-source/mediasource-addsourcebuffer.html": [
    "c65d474f5279b3238dccf50415b5995b9d6b80ca",
    "testharness"
   ],
   "media-source/mediasource-append-buffer.html": [
-   "56f0d90f006e300a412ec7ceb3c15a252ff303a5",
+   "fed1254d64c59b625af9745bbffcf5788ac5906e",
    "testharness"
   ],
   "media-source/mediasource-appendbuffer-quota-exceeded.html": [
    "1d98e36fdc1d93444b5a9809774ed0ce58b8680b",
    "testharness"
   ],
   "media-source/mediasource-appendwindow.html": [
    "5a39b4e58a18a4d878e6b710e4506262c2335519",
@@ -193558,17 +193564,17 @@
    "2936b8d06311bb9b796bf8e6c997c25a2e2d3709",
    "testharness"
   ],
   "media-source/mediasource-seek-during-pending-seek.html": [
    "44ff5284c77dab088494924fb8d11a3e7da48a5a",
    "testharness"
   ],
   "media-source/mediasource-seekable.html": [
-   "5f75983eeb4eed4095a625ec997c01eaba021166",
+   "6e92616bfb23e0d00e387688ff6754e68b1da35f",
    "testharness"
   ],
   "media-source/mediasource-sequencemode-append-buffer.html": [
    "8709f7b57b3a460909dc0456a70fc9b83b111fa4",
    "testharness"
   ],
   "media-source/mediasource-sourcebuffer-mode-timestamps.html": [
    "caa103e85e89c1bccda5e9d2b563bb66d7a44006",
@@ -220029,16 +220035,20 @@
   "web-animations/animation-model/animation-types/spacing-keyframes-transform.html": [
    "c1c5c2ea4580948d00502a048f3e562c61006ab9",
    "testharness"
   ],
   "web-animations/animation-model/combining-effects/effect-composition.html": [
    "8ac06085132d822e908d48de4c1109b66323f19f",
    "testharness"
   ],
+  "web-animations/animation-model/keyframe-effects/calculating-computed-keyframes.html": [
+   "59167e7027d2c1529663afdef0b20e492faa20e5",
+   "testharness"
+  ],
   "web-animations/animation-model/keyframe-effects/effect-value-context.html": [
    "10d9ee521240475a1729c2facfcea8b50342614e",
    "testharness"
   ],
   "web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html": [
    "a79db70a385ad767263f285c9401b66611087e42",
    "testharness"
   ],
@@ -220226,17 +220236,17 @@
    "5ef1183a4d3e12ad3edfe678c9fa002e7edce888",
    "support"
   ],
   "web-animations/resources/keyframe-utils.js": [
    "ff5700466b5af6ffaad824437d6566003a22e25b",
    "support"
   ],
   "web-animations/testcommon.js": [
-   "b12f7087f2adec5ce2a2b8e07be2f24d68aa9df2",
+   "f144094a0848a1b03f0e1182f6623760981a6e1d",
    "support"
   ],
   "web-animations/timing-model/animation-effects/active-time.html": [
    "42eb1a23e89ae60ccd0a3664a9a583df1eb30d49",
    "testharness"
   ],
   "web-animations/timing-model/animation-effects/current-iteration.html": [
    "b08a35ae832ce33da7fe7fee22e589a6b85a6353",
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/web-animations/animation-model/keyframe-effects/calculating-computed-keyframes.html.ini
@@ -0,0 +1,32 @@
+[calculating-computed-keyframes.html]
+  type: testharness
+  [Test valid inherit value for 'column-span' (Parent style is 'none')]
+    expected: FAIL
+    bug: https://bugzilla.mozilla.org/show_bug.cgi?id=616436
+  [Test valid inherit value for 'column-span' (Parent style is 'all')]
+    expected: FAIL
+    bug: https://bugzilla.mozilla.org/show_bug.cgi?id=616436
+  [Test valid inherit value for 'overflow-clip-box' (Parent style is 'padding-box')]
+    expected: FAIL
+    bug: https://bugzilla.mozilla.org/show_bug.cgi?id=966992
+  [Test valid inherit value for 'overflow-clip-box' (Parent style is 'content-box')]
+    expected: FAIL
+    bug: https://bugzilla.mozilla.org/show_bug.cgi?id=966992
+  [Test valid inherit value for 'page-break-after' (Parent style is 'avoid')]
+    expected: FAIL
+    bug: https://bugzilla.mozilla.org/show_bug.cgi?id=132035
+  [Test valid inherit value for 'page-break-after' (Parent style is 'left')]
+    expected: FAIL
+    bug: https://bugzilla.mozilla.org/show_bug.cgi?id=132035
+  [Test valid inherit value for 'page-break-after' (Parent style is 'right')]
+    expected: FAIL
+    bug: https://bugzilla.mozilla.org/show_bug.cgi?id=132035
+  [Test valid inherit value for 'page-break-before' (Parent style is 'avoid')]
+    expected: FAIL
+    bug: https://bugzilla.mozilla.org/show_bug.cgi?id=132035
+  [Test valid inherit value for 'page-break-before' (Parent style is 'left')]
+    expected: FAIL
+    bug: https://bugzilla.mozilla.org/show_bug.cgi?id=132035
+  [Test valid inherit value for 'page-break-before' (Parent style is 'right')]
+    expected: FAIL
+    bug: https://bugzilla.mozilla.org/show_bug.cgi?id=132035
--- a/testing/web-platform/mozilla/meta/MANIFEST.json
+++ b/testing/web-platform/mozilla/meta/MANIFEST.json
@@ -873,17 +873,17 @@
    "65143dd5377acc88b180460a46dd4bbb79cbf68e",
    "testharness"
   ],
   "focus/Selection_addRange_into_iframe_iframe.html": [
    "8e8eb8ee04e7a0879828de2c5fb2501c088504a4",
    "support"
   ],
   "focus/Selection_collapse.html": [
-   "15f83b9e158ff63fd3428c4d681ce4777b74198c",
+   "7367e997760a15f19b46545f371659c3093e28ae",
    "testharness"
   ],
   "focus/Selection_collapseToEnd.html": [
    "92b38fcaffdee31422690f35c3d9147452b3a2e2",
    "testharness"
   ],
   "focus/Selection_collapseToStart.html": [
    "e47f9a13430db7d9f2c18ee41f9445ea372f0a18",
--- a/testing/web-platform/tests/web-animations/animation-model/animation-types/property-list.js
+++ b/testing/web-platform/tests/web-animations/animation-model/animation-types/property-list.js
@@ -1511,25 +1511,16 @@ function TestKeyframe(testProp) {
     enumerable: true
   });
 
   Object.defineProperty(this, 'propAccessCount', {
     get: function() { return _propAccessCount; }
   });
 }
 
-function propertyToIDL(property) {
-  // https://w3c.github.io/web-animations/#animation-property-name-to-idl-attribute-name
-  if (property === 'float') {
-    return 'cssFloat';
-  }
-  return property.replace(/-[a-z]/gi,
-                          function (str) {
-                            return str.substr(1).toUpperCase(); });
-}
 function calcFromPercentage(idlName, percentageValue) {
   var examElem = document.createElement('div');
   document.body.appendChild(examElem);
   examElem.style[idlName] = percentageValue;
 
   var calcValue = getComputedStyle(examElem)[idlName];
   document.body.removeChild(examElem);
 
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/web-animations/animation-model/keyframe-effects/calculating-computed-keyframes.html
@@ -0,0 +1,566 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>Tests that valid 'inherit' value during animation</title>
+<link rel="help" href="https://w3c.github.io/web-animations/#calculating-computed-keyframes">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../../testcommon.js"></script>
+<body>
+<div id="log"></div>
+<script>
+
+var testcases = [
+  {
+    property: "align-content",
+    values: ["normal", "start", "end", "flex-start", "flex-end", "center",
+             "left", "right", "space-between", "space-around", "space-evenly",
+             "first baseline", "last baseline", "baseline", "stretch",
+             "start safe", "unsafe end", "unsafe end stretch",
+             "space-evenly end safe" ],
+    expectedValueMap: {
+      "first baseline": "baseline",
+      "unsafe end": "end",
+      "unsafe end stretch": "stretch end",
+    }
+  },
+  {
+    property: "align-items",
+    values: ["end", "flex-start", "flex-end", "self-start", "self-end",
+             "center", "stretch", "first baseline", "last baseline",
+             "baseline", "unsafe left", "start", "center unsafe", "right safe",
+             "center safe"],
+    expectedValueMap: {
+      "first baseline": "baseline",
+      "unsafe left": "left",
+      "center unsafe": "center",
+    }
+  },
+  {
+    property: "align-self",
+    values: ["normal", "start", "flex-start", "flex-end", "center", "stretch",
+             "first baseline", "last baseline", "baseline", "right safe",
+             "unsafe center", "self-start", "self-end safe"],
+    expectedValueMap: {
+      "first baseline": "baseline",
+      "unsafe center": "center",
+    }
+  },
+  {
+    property: "backface-visibility",
+    values: ["visible", "hidden"]
+  },
+  {
+    property: "background-attachment",
+    values: ["scroll", "fixed", "local", "scroll, scroll",
+             "fixed, scroll", "scroll, fixed, local, scroll", "fixed, fixed"]
+  },
+  {
+    property: "background-blend-mode",
+    values: ["normal", "multiply", "screen", "overlay", "darken", "lighten",
+             "color-dodge", "color-burn", "hard-light", "soft-light",
+             "difference", "exclusion", "hue", "saturation", "color",
+             "luminosity"]
+  },
+  {
+    property: "background-clip",
+    values: ["border-box", "content-box", "padding-box",
+             "border-box, padding-box", "padding-box, padding-box, padding-box",
+             "border-box, border-box", "text", "content-box, text",
+             "text, border-box", "text, text"]
+  },
+  {
+    property: "background-origin",
+    values: ["padding-box", "border-box", "content-box",
+             "border-box, padding-box", "padding-box, padding-box, padding-box",
+             "border-box, border-box"]
+  },
+  {
+    property: "border-collapse",
+    values: ["separate", "collapse"]
+  },
+  {
+    property: "border-image-repeat",
+    values: ["stretch", "repeat", "round", "stretch stretch", "stretch round",
+             "repeat round", "stretch repeat", "round round", "repeat repeat",
+             "stretch space", "repeat space", "round space", "space space"],
+    expectedValueMap: {
+      "stretch": "stretch stretch",
+      "repeat": "repeat repeat",
+      "round": "round round",
+    }
+  },
+  {
+    property: "box-decoration-break",
+    values: ["slice", "clone"]
+  },
+  {
+    property: "box-sizing",
+    values: ["content-box", "border-box"]
+  },
+  {
+    property: "caption-side",
+    values: ["top", "bottom", "left", "right", "top-outside", "bottom-outside"]
+  },
+  {
+    property: "clear",
+    values: ["none", "left", "right", "both"]
+  },
+  {
+    property: "clip-rule",
+    values: ["nonzero", "evenodd"]
+  },
+  {
+    property: "color-adjust",
+    values: ["economy", "exact"]
+  },
+  {
+    property: "color-interpolation",
+    values: ["srgb", "auto", "linearrgb"]
+  },
+  {
+    property: "color-interpolation-filters",
+    values: ["srgb", "auto", "linearrgb"]
+  },
+  {
+    property: "column-fill",
+    values: ["balance", "auto"]
+  },
+  {
+    property: "column-rule-style",
+    values: ["none", "solid", "hidden", "ridge", "groove", "inset", "outset",
+             "double", "dotted", "dashed"]
+  },
+  {
+    property: "column-span",
+    values: ["none", "all"]
+  },
+  {
+    property: "contain",
+    values: ["none", "strict", "layout", "style", "layout style",
+             "paint", "layout paint", "style paint", "layout style paint"]
+  },
+  {
+    property: "direction",
+    values: ["ltr", "rtl"]
+  },
+  {
+    property: "dominant-baseline",
+    values: ["auto", "use-script", "no-change", "reset-size", "ideographic",
+             "alphabetic", "hanging", "mathematical", "central", "middle",
+             "text-after-edge", "text-before-edge"]
+  },
+  {
+    property: "empty-cells",
+    values: ["show", "hide"]
+  },
+  {
+    property: "fill-rule",
+    values: ["nonzero", "evenodd"]
+  },
+  {
+    property: "flex-direction",
+    values: ["row", "row-reverse", "column", "column-reverse"]
+  },
+  {
+    property: "flex-wrap",
+    values: ["nowrap", "wrap", "wrap-reverse"]
+  },
+  {
+    property: "float",
+    values: ["none", "left", "right"]
+  },
+  {
+    property: "font-kerning",
+    values: ["auto", "none", "normal"]
+  },
+  {
+    property: "font-language-override",
+    values: ["normal", "\"ENG\"", "\"TRK\""]
+  },
+  {
+    property: "font-style",
+    values: ["normal", "italic", "oblique"]
+  },
+  {
+    property: "font-synthesis",
+    values: ["weight style", "none", "weight", "style"]
+  },
+  {
+    property: "font-variant-caps",
+    values: ["normal", "small-caps", "all-small-caps", "petite-caps",
+             "all-petite-caps", "titling-caps", "unicase"]
+  },
+  {
+    property: "font-variant-east-asian",
+    values: ["normal", "jis78", "jis83", "jis90", "jis04", "simplified",
+             "traditional", "full-width", "proportional-width", "ruby",
+             "jis78 full-width", "jis78 full-width ruby",
+             "simplified proportional-width", "simplified ruby"]
+  },
+  {
+    property: "font-variant-ligatures",
+    values: ["normal", "none", "common-ligatures", "no-common-ligatures",
+             "discretionary-ligatures", "no-discretionary-ligatures",
+             "historical-ligatures", "no-historical-ligatures", "contextual",
+             "no-contextual", "common-ligatures no-discretionary-ligatures",
+             "no-discretionary-ligatures contextual",
+             "no-common-ligatures historical-ligatures",
+             "discretionary-ligatures no-historical-ligatures",
+             "common-ligatures no-discretionary-ligatures "
+             + "historical-ligatures no-contextual"]
+  },
+  {
+    property: "font-variant-numeric",
+    values: ["normal", "lining-nums", "oldstyle-nums", "proportional-nums",
+             "tabular-nums", "diagonal-fractions", "stacked-fractions",
+             "slashed-zero", "ordinal", "lining-nums diagonal-fractions",
+             "tabular-nums stacked-fractions",
+             "tabular-nums stacked-fractions slashed-zero",
+             "oldstyle-nums proportional-nums diagonal-fractions "
+             + "slashed-zero ordinal"]
+  },
+  {
+    property: "font-variant-position",
+    values: ["normal", "super", "sub"]
+  },
+  {
+    property: "grid-auto-flow",
+    values: ["row", "column", "column dense", "row dense", "dense"],
+    expectedValueMap: {
+      "dense": "row dense",
+    }
+  },
+  {
+    property: "hyphens",
+    values: ["manual", "none", "auto"]
+  },
+  {
+    property: "initial-letter",
+    values: ["normal", "2", "2.5", "3.7 2", "4 3"],
+    expectedValueMap: {
+      "2": "2 2",
+      "2.5": "2.5 2",
+    }
+  },
+  {
+    property: "image-orientation",
+    values: ["0deg", "0grad", "0rad", "0turn", "15deg", "360deg",
+             "0deg flip", "90deg", "90deg flip", "180deg", "180deg flip",
+             "270deg", "270deg flip", "flip", "from-image"],
+    expectedValueMap: {
+      "0grad": "0deg",
+      "0rad": "0deg",
+      "0turn": "0deg",
+      "15deg": "0deg",
+      "360deg": "0deg",
+      "flip": "0deg flip"
+    }
+  },
+  {
+    property: "image-rendering",
+    values: ["auto", "optimizespeed", "optimizequality"]
+  },
+  {
+    property: "ime-mode",
+    values: ["normal", "disabled", "active", "inactive"]
+  },
+  {
+    property: "isolation",
+    values: ["auto", "isolate"]
+  },
+  {
+    property: "justify-content",
+    values: ["normal", "start", "end", "flex-start", "flex-end", "center",
+             "left", "right", "space-between", "space-around", "space-evenly",
+             "first baseline", "last baseline", "baseline", "stretch",
+             "start safe", "unsafe end", "unsafe end stretch",
+             "space-evenly end safe" ],
+    expectedValueMap: {
+      "first baseline": "baseline",
+      "unsafe end": "end",
+      "unsafe end stretch": "stretch end",
+    }
+  },
+  {
+    property: "justify-items",
+    values: ["end", "flex-start", "flex-end", "self-start", "self-end",
+             "center", "stretch", "first baseline", "last baseline",
+             "baseline", "unsafe left", "start", "center unsafe", "right safe",
+             "center safe"],
+    expectedValueMap: {
+      "first baseline": "baseline",
+      "unsafe left": "left",
+      "center unsafe": "center",
+    }
+  },
+  {
+    property: "justify-self",
+    values: ["normal", "start", "flex-start", "flex-end", "center", "stretch",
+             "first baseline", "last baseline", "baseline", "right safe",
+             "unsafe center", "self-start", "self-end safe"],
+    expectedValueMap: {
+      "first baseline": "baseline",
+      "unsafe center": "center",
+    }
+  },
+  {
+    property: "list-style-position",
+    values: ["outside", "inside"]
+  },
+  {
+    property: "mask-clip",
+    values: ["border-box", "content-box", "fill-box", "stroke-box", "view-box",
+             "no-clip", "padding-box", "border-box, padding-box",
+             "padding-box, padding-box, padding-box", "border-box, border-box"]
+  },
+  {
+    property: "mask-composite",
+    values: ["add", "subtract", "intersect", "exclude", "add, add",
+             "subtract, intersect", "subtract, subtract, add"]
+  },
+  {
+    property: "mask-mode",
+    values: ["match-source", "alpha", "luminance", "match-source, match-source",
+             "match-source, alpha", "alpha, luminance, match-source"]
+  },
+  {
+    property: "mask-origin",
+    values: ["border-box", "padding-box", "content-box", "fill-box",
+             "stroke-box", "view-box", "border-box, padding-box",
+             "padding-box, padding-box, padding-box", "border-box, border-box"]
+  },
+  {
+    property: "mask-type",
+    values: ["luminance", "alpha"]
+  },
+  {
+    property: "mix-blend-mode",
+    values: ["normal", "multiply", "screen", "overlay", "darken", "lighten",
+             "color-dodge", "color-burn", "hard-light", "soft-light",
+             "difference", "exclusion", "hue", "saturation", "color",
+             "luminosity"]
+  },
+  {
+    property: "object-fit",
+    values: ["fill", "contain", "cover", "none", "scale-down"]
+  },
+  {
+    property: "outline-style",
+    values: ["none", "solid", "dashed", "dotted", "double", "outset", "inset",
+             "groove", "ridge", "auto"]
+  },
+  {
+    property: "overflow-clip-box",
+    values: ["padding-box", "content-box"]
+  },
+  {
+    property: "overflow-x",
+    values: ["visible", "auto", "scroll", "hidden"]
+  },
+  {
+    property: "overflow-y",
+    values: ["visible", "auto", "scroll", "hidden"]
+  },
+  {
+    property: "page-break-after",
+    values: ["auto", "always", "avoid", "left", "right"]
+  },
+  {
+    property: "page-break-before",
+    values: ["auto", "always", "avoid", "left", "right"]
+  },
+  {
+    property: "page-break-inside",
+    values: ["auto", "avoid"]
+  },
+  {
+    property: "paint-order",
+    values: ["normal", "fill", "fill stroke", "fill stroke markers",
+             "stroke markers fill"],
+    expectedValueMap: {
+      "fill stroke": "fill",
+      "fill stroke markers": "fill",
+      "stroke markers fill": "stroke markers",
+    }
+  },
+  {
+    property: "pointer-events",
+    values: ["auto", "visiblepainted", "visiblefill", "visiblestroke",
+             "visible", "painted", "fill", "stroke", "all", "none"]
+  },
+  {
+    property: "position",
+    values: ["static", "relative", "absolute", "fixed", "sticky"]
+  },
+  {
+    property: "resize",
+    values: ["none", "both", "horizontal", "vertical"]
+  },
+  {
+    property: "ruby-align",
+    values: ["space-around", "start", "center", "space-between"]
+  },
+  {
+    property: "ruby-position",
+    values: ["over", "under"]
+  },
+  {
+    property: "scroll-behavior",
+    values: ["auto", "smooth"]
+  },
+  {
+    property: "scroll-snap-type-x",
+    values: ["none", "mandatory", "proximity"]
+  },
+  {
+    property: "scroll-snap-type-y",
+    values: ["none", "mandatory", "proximity"]
+  },
+  {
+    property: "shape-rendering",
+    values: ["auto", "optimizespeed", "crispedges", "geometricprecision"]
+  },
+  {
+    property: "stroke-linecap",
+    values: ["butt", "round", "square"]
+  },
+  {
+    property: "stroke-linejoin",
+    values: ["miter", "round", "bevel"]
+  },
+  {
+    property: "table-layout",
+    values: ["auto", "fixed"]
+  },
+  {
+    property: "text-align",
+    values: ["start", "center", "justify", "end", "match-parent"],
+    expectedValueMap: {
+      "match-parent": "left",
+    }
+  },
+  {
+    property: "text-align-last",
+    values: ["auto", "center", "justify", "start", "end", "left", "right"],
+  },
+  {
+    property: "text-anchor",
+    values: ["start", "middle", "end"],
+  },
+  {
+    property: "text-combine-upright",
+    values: ["none", "all"],
+  },
+  {
+    property: "text-decoration-line",
+    values: ["none", "underline", "overline", "line-through", "blink",
+             "underline line-through blink",
+             "underline overline line-through blink"],
+  },
+  {
+    property: "text-decoration-style",
+    values: ["solid", "double", "dotted", "dashed", "wavy"],
+  },
+  {
+    property: "text-emphasis-position",
+    values: ["over right", "over left", "under left", "under right"],
+  },
+  {
+    property: "text-justify",
+    values: ["auto", "none", "inter-word", "inter-character"],
+  },
+  {
+    property: "text-orientation",
+    values: ["mixed", "upright", "sideways", "sideways-right"],
+    expectedValueMap: {
+      "sideways-right": "sideways",
+    }
+  },
+  {
+    property: "text-rendering",
+    values: ["auto", "optimizespeed", "optimizelegibility",
+             "geometricprecision"],
+  },
+  {
+    property: "-webkit-text-stroke-width",
+    values: ["0", "0px", "0em", "thin", "medium", "thick", "17px"],
+    expectedValueMap: {
+      "0": "0px",
+      "0em": "0px",
+      "thin": "1px",
+      "medium": "3px",
+      "thick": "5px",
+    }
+  },
+  {
+    property: "text-transform",
+    values: ["none", "capitalize", "uppercase", "lowercase", "full-width"],
+  },
+  {
+    property: "touch-action",
+    values: ["auto", "none", "pan-x", "pan-y", "pan-x pan-y", "manipulation"],
+  },
+  {
+    property: "transform-box",
+    values: ["border-box", "fill-box", "view-box"],
+  },
+  {
+    property: "transform-style",
+    values: ["flat", "preserve-3d"],
+  },
+  {
+    property: "unicode-bidi",
+    values: ["normal", "embed", "bidi-override", "isolate", "plaintext",
+             "isolate-override"],
+  },
+  {
+    property: "vector-effect",
+    values: ["none", "non-scaling-stroke"],
+  },
+  {
+    property: "white-space",
+    values: ["normal", "pre", "nowrap", "pre-wrap", "pre-line"],
+  },
+  {
+    property: "word-break",
+    values: ["normal", "break-all", "keep-all"],
+  },
+  {
+    property: "overflow-wrap",
+    values: ["normal", "break-word"],
+  },
+  {
+    property: "writing-mode",
+    values: ["horizontal-tb", "vertical-lr", "vertical-rl", "sideways-rl",
+             "sideways-lr"],
+  },
+];
+
+for (var testcase of testcases) {
+  var property = testcase.property;
+  var values = testcase.values;
+  var idl = propertyToIDL(property);
+  for (var value of values) {
+    test(function(t) {
+      var container = createDiv(t);
+      var target = document.createElement("div");
+      container.appendChild(target);
+
+      container.style[idl] = value;
+
+      const animation =
+        target.animate({ [idl]: [value, "inherit"] },
+                       { duration: 1000, delay: -500 } );
+
+      const expectedValue =
+        testcase.expectedValueMap && testcase.expectedValueMap[value]
+        ? testcase.expectedValueMap[value] : value;
+
+      assert_equals(getComputedStyle(target)[idl], expectedValue,
+                    "Computed style shoud be '" + expectedValue +"'");
+    }, "Test valid inherit value for '" + property + "'"
+       + " (Parent style is '" +  value + "')");
+  };
+};
+</script>
+</body>
--- a/testing/web-platform/tests/web-animations/testcommon.js
+++ b/testing/web-platform/tests/web-animations/testcommon.js
@@ -236,8 +236,19 @@ function assert_matrix_equals(actual, ex
 
   assert_equals(actualMatrixArray.length, expectedMatrixArray.length,
     'dimension of the matrix: ' + description);
   for (var i = 0; i < actualMatrixArray.length; i++) {
     assert_approx_equals(actualMatrixArray[i], expectedMatrixArray[i], 0.0001,
       'expected ' + expected + ' but got ' + actual + ": " + description);
   }
 }
+
+// Convert property to IDL. e.g. align-content -> alignContent
+function propertyToIDL(property) {
+  // https://w3c.github.io/web-animations/#animation-property-name-to-idl-attribute-name
+  if (property === 'float') {
+    return 'cssFloat';
+  }
+  return property.replace(/-[a-z]/gi,
+                          function (str) {
+                            return str.substr(1).toUpperCase(); });
+}