Index: pkg/polymer/lib/elements/web-animations-js/test/testcases/auto-test-iterations-fill.html |
diff --git a/pkg/polymer/lib/elements/web-animations-js/test/testcases/auto-test-iterations-fill.html b/pkg/polymer/lib/elements/web-animations-js/test/testcases/auto-test-iterations-fill.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9fb3838b8b09b6c54ad590bddff55bc6e2eaa629 |
--- /dev/null |
+++ b/pkg/polymer/lib/elements/web-animations-js/test/testcases/auto-test-iterations-fill.html |
@@ -0,0 +1,167 @@ |
+<!-- |
+Copyright 2012 Google Inc. All Rights Reserved. |
+ |
+Licensed under the Apache License, Version 2.0 (the "License"); |
+you may not use this file except in compliance with the License. |
+You may obtain a copy of the License at |
+ |
+ http://www.apache.org/licenses/LICENSE-2.0 |
+ |
+Unless required by applicable law or agreed to in writing, software |
+distributed under the License is distributed on an "AS IS" BASIS, |
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+See the License for the specific language governing permissions and |
+limitations under the License. |
+--> |
+ |
+<!DOCTYPE html><meta charset="UTF-8"> |
+<style> |
+.animContainer { |
+ position: absolute; |
+ left: 0px; |
+ height: 100px; |
+} |
+ |
+.anim { |
+ left: 0px; |
+ width: 100px; |
+ height: 25px; |
+ background-color: #FAA; |
+ position: relative; |
+} |
+ |
+.expected { |
+ border-right: 1px solid black; |
+} |
+ |
+.a { |
+ top: 0px |
+} |
+ |
+.b { |
+ top: 0px; |
+} |
+ |
+.c { |
+ top: 0px; |
+} |
+ |
+.d { |
+ top: 0px; |
+} |
+ |
+#ca { |
+ top: 50px; |
+} |
+ |
+#cb { |
+ top: 200px; |
+} |
+ |
+#cc { |
+ top: 350px; |
+} |
+ |
+ |
+#cd { |
+ top: 500px; |
+} |
+</style> |
+ |
+<div>Right edge of each box should align with black line at end of test.</div> |
+ |
+<div class="animContainer" id="ca"> |
+ <div style="width: 100px;" class="expected"><div class="anim a" id="a"></div> |
+ </div> |
+ <div style="width: 100px;" class="expected"><div class="anim b" id="b"></div> |
+ </div> |
+ <div style="width: 300px;" class="expected"><div class="anim c" id="c"></div> |
+ </div> |
+ <div style="width: 300px;" class="expected"><div class="anim d" id="d"></div> |
+ </div> |
+</div> |
+ |
+<div class="animContainer" id="cb"> |
+ <div style="width: 100px;" class="expected"><div class="anim a" id="e"></div> |
+ </div> |
+ <div style="width: 200px;" class="expected"><div class="anim b" id="f"></div> |
+ </div> |
+ <div style="width: 100px;" class="expected"><div class="anim c" id="g"></div> |
+ </div> |
+ <div style="width: 200px;" class="expected"><div class="anim d" id="h"></div> |
+ </div> |
+</div> |
+ |
+<div class="animContainer" id="cc"> |
+ <div style="width: 100px;" class="expected"><div class="anim a" id="i"></div> |
+ </div> |
+ <div style="width: 100px;" class="expected"><div class="anim b" id="j"></div> |
+ </div> |
+ <div style="width: 300px;" class="expected"><div class="anim c" id="k"></div> |
+ </div> |
+ <div style="width: 300px;" class="expected"><div class="anim d" id="l"></div> |
+ </div> |
+</div> |
+ |
+<div class="animContainer" id="cd"> |
+ <div style="width: 100px;" class="expected"><div class="anim a" id="m"></div> |
+ </div> |
+ <div style="width: 200px;" class="expected"><div class="anim b" id="n"></div> |
+ </div> |
+ <div style="width: 100px;" class="expected"><div class="anim c" id="o"></div> |
+ </div> |
+ <div style="width: 200px;" class="expected"><div class="anim d" id="p"></div> |
+ </div> |
+</div> |
+ |
+<div style="height: 700px"></div> |
+ |
+<script src="../bootstrap.js"></script> |
+<script> |
+"use strict"; |
+ |
+var fills = ["none", "backwards", "forwards", "both"]; |
+var categories = [".a", ".b", ".c", ".d"] |
+ |
+var directions = ["normal", "reverse", "alternate", "alternate-reverse"] |
+var groups = []; |
+ |
+for (var i = 0; i < directions.length; i++) { |
+ var dir = directions[i]; |
+ groups.push(new ParGroup([], { |
+ delay: 1, |
+ duration: 8, |
+ iterations: 3, |
+ playbackRate: 2, |
+ direction: dir, |
+ fill: 'forwards', |
+ })); |
+} |
+ |
+function sampleFunc(timeFraction, animation) { |
+ animation.target.innerHTML = Math.floor(timeFraction * 1000) / 1000 + " : " + animation.currentIteration; |
+} |
+ |
+for (var i = 0; i < fills.length; i++) { |
+ var divs = document.querySelectorAll(categories[i]); |
+ for (var j = 0; j < divs.length; j++) { |
+ groups[j].append(new Animation(divs[j], [{left: "100px"}, {left: "200px"}], { |
+ delay: 1, |
+ duration: 1, |
+ iterations: 2, |
+ fill: fills[i], |
+ playbackRate: 0.8 |
+ })); |
+ groups[j].append(new Animation(divs[j], sampleFunc, { |
+ delay: 1, |
+ duration: 1, |
+ iterations: 2, |
+ fill: fills[i], |
+ playbackRate: 0.8 |
+ })); |
+ } |
+} |
+for (var j = 0; j < divs.length; j++) { |
+ document.timeline.play(groups[j]); |
+} |
+</script> |