Merge pull request #8817 from mrego/multicol-gap-animation

[css-multicol] Add tests related to column-gap animations
diff --git a/css/css-multicol/multicol-gap-animation-001.html b/css/css-multicol/multicol-gap-animation-001.html
new file mode 100644
index 0000000..6a3a8d3
--- /dev/null
+++ b/css/css-multicol/multicol-gap-animation-001.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Multi-column Layout Test: column-gap test animation</title>
+<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
+<link rel="help" href="https://www.w3.org/TR/css-multicol-1/#column-gap">
+<link rel="help" href="https://www.w3.org/TR/web-animations-1/#dom-animatable-animate">
+<meta name="assert" content="Test checks that column-gap is an animatable property, and that the computed values during the animation are the expected ones.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+  #multicol {
+    column-gap: 0px;
+  }
+</style>
+<body>
+  <div id="multicol"></div>
+  <div id="log"></div>
+
+  <script>
+    test(
+      function(){
+        var multicol = document.getElementById("multicol");
+        assert_equals(getComputedStyle(multicol).columnGap, "0px");
+
+        var keyframes = [
+          { columnGap: "100px" },
+          { columnGap: "200px" }
+        ];
+        var options = {
+          duration: 10,
+          fill: "forwards",
+          easing: "linear"
+        };
+
+        var player = multicol.animate(keyframes, options);
+        player.pause();
+        player.currentTime = 0;
+        assert_equals(getComputedStyle(multicol).columnGap, "100px");
+        player.currentTime = 5;
+        assert_equals(getComputedStyle(multicol).columnGap, "150px");
+        player.currentTime = 10;
+        assert_equals(getComputedStyle(multicol).columnGap, "200px");
+      }, "column-gap property is animatable");
+  </script>
+</body>
diff --git a/css/css-multicol/multicol-gap-animation-002.html b/css/css-multicol/multicol-gap-animation-002.html
new file mode 100644
index 0000000..de3756c
--- /dev/null
+++ b/css/css-multicol/multicol-gap-animation-002.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Multi-column Layout Test: column-gap normal test animation</title>
+<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
+<link rel="help" href="https://www.w3.org/TR/css-multicol-1/#column-gap">
+<link rel="help" href="https://www.w3.org/TR/web-animations-1/#dom-animatable-animate">
+<meta name="assert" content="Test checks that 'normal' value for column-gap property is not interpolable.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+  @keyframes column-gap-normal-to-100 {
+    from { column-gap: normal; }
+    to { column-gap: 100px; }
+  }
+
+  #multicol {
+    animation-name: column-gap-normal-to-100;
+    animation-duration: 2s;
+    animation-delay: -1s;
+    animation-play-state: paused;
+  }
+</style>
+<body>
+  <div id="multicol"></div>
+  <div id="log"></div>
+
+  <script>
+    test(
+      function(){
+        var multicol = document.getElementById("multicol");
+        assert_equals(getComputedStyle(multicol).columnGap, "100px");
+      }, "column-gap: normal is not interpolable");
+  </script>
+</body>
diff --git a/css/css-multicol/multicol-gap-animation-003.html b/css/css-multicol/multicol-gap-animation-003.html
new file mode 100644
index 0000000..71182fa
--- /dev/null
+++ b/css/css-multicol/multicol-gap-animation-003.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Multi-column Layout Test: Default column-gap test animation</title>
+<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
+<link rel="help" href="https://www.w3.org/TR/css-multicol-1/#column-gap">
+<link rel="help" href="https://www.w3.org/TR/web-animations-1/#dom-animatable-animate">
+<meta name="assert" content="Test checks that the default value for column-gap property, which is 'normal', is not interpolable.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+  @keyframes column-gap-to-100 {
+    to { column-gap: 100px; }
+  }
+
+  #multicol {
+    animation-name: column-gap-to-100;
+    animation-duration: 2s;
+    animation-delay: -1s;
+    animation-play-state: paused;
+  }
+</style>
+<body>
+  <div id="multicol"></div>
+  <div id="log"></div>
+
+  <script>
+    test(
+      function(){
+        var multicol = document.getElementById("multicol");
+        assert_equals(getComputedStyle(multicol).columnGap, "100px");
+      }, "Default column-gap is not interpolable");
+  </script>
+</body>