Index: pkg/polymer/lib/elements/web-animations-js/test/testcases/disabled-test-compositing-order.html |
diff --git a/pkg/polymer/lib/elements/web-animations-js/test/testcases/disabled-test-compositing-order.html b/pkg/polymer/lib/elements/web-animations-js/test/testcases/disabled-test-compositing-order.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ec464d3d37f890b4d8f3cf8735c645e9ce2d240f |
--- /dev/null |
+++ b/pkg/polymer/lib/elements/web-animations-js/test/testcases/disabled-test-compositing-order.html |
@@ -0,0 +1,112 @@ |
+<!-- |
+Copyright 2013 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> |
+div.anim { |
+ position: relative; |
+} |
+</style> |
+ |
+<div id="target1" class="anim"></div> |
+<div id="target2" class="anim"></div> |
+<div id="target3" class="anim"></div> |
+<div id="target4" class="anim"></div> |
+ |
+<script src="../bootstrap.js" nochecks></script> |
+<script> |
+"use strict"; |
+ |
+var leftToRight = [{left: "100px"}, {left: "200px"}]; |
+var leftToRightLarge = [{left: "100px"}, {left: "1000px"}]; |
+var rightToLeft = [{left: "200px"}, {left: "100px"}]; |
+var noop = {color: "red"}; |
+ |
+// Test that an animation uses the correct compositing order when it has a |
+// grandparent that remains active longer than its parent. |
+// |
+// The first animation should run between times 0.0 and 1.0 and the second |
+// between times 2.0 and 3.0. Both use the default fill mode of "forwards", but |
+// because the second animation has a later start time, it should be composited |
+// second, so the div should end up on the left. |
+var target1 = document.getElementById("target1"); |
+var player = document.timeline.play(new ParGroup([ |
+ new ParGroup([ |
+ new Animation(target1, leftToRight, 1.0), |
+ ]), |
+ new SeqGroup([ |
+ new Animation(target1, noop, 2.0), |
+ new Animation(target1, rightToLeft, 1.0), |
+ ]), |
+])); |
+ |
+timing_test(function() { |
+ at(3.0, function() {assert_equals(getComputedStyle(target1).getPropertyValue("left"), "100px")}); |
+ }, "First animation should have earlier compositing order"); |
+ |
+// Test that compositing order takes account of playback rate. |
+// |
+// The start time of the first animation is 0.0. The SeqGroup has a playback |
+// rate of 4.0, so the effective start time of its child animation is 2.0. So |
+// the the div should end up on the left at time 3.0. |
+var target2 = document.getElementById("target2"); |
+var player = document.timeline.play(new ParGroup([ |
+ new Animation(target2, leftToRight, 1.0), |
+ new SeqGroup([ |
+ new Animation(target1, noop, 8.0), |
+ new Animation(target2, rightToLeft, 4.0), |
+ ], {playbackRate: 4.0}), |
+])); |
+ |
+timing_test(function() { |
+ at(3.0, function() {assert_equals(getComputedStyle(target2).getPropertyValue("left"), "100px")}); |
+ }, "Second animation should have later compositing order"); |
+ |
+// Test compositing order follows Player start time order. |
+var target3 = document.getElementById("target3"); |
+var player1 = document.timeline.play( |
+ new Animation(target3, leftToRight, 1.0)); |
+player1.startTime += 1.0; |
+var player2 = document.timeline.play( |
+ new Animation(target3, leftToRightLarge, 2.0)); |
+ |
+timing_test(function() { |
+ at(2.0, function() {assert_equals(getComputedStyle(target3).getPropertyValue("left"), "200px")}); |
+ }, "First animation should have latest compositing order"); |
+ |
+// Test compositing order follows tree order. |
+var target4 = document.getElementById("target4"); |
+var player = document.timeline.play(new ParGroup([ |
+ new Animation(target4, leftToRightLarge, 1.0), |
+ new SeqGroup([ |
+ new Animation(target4, leftToRightLarge, 1.0), |
+ new ParGroup([ |
+ new Animation(target4, leftToRightLarge, 1.0), |
+ new Animation(target4, leftToRightLarge, 1.0), |
+ ]), |
+ ]), |
+ new ParGroup([ |
+ new Animation(target4, leftToRightLarge, 1.0), |
+ new Animation(target4, leftToRight, 1.0), |
+ ]), |
+])); |
+ |
+timing_test(function() { |
+ at(2.0, function() {assert_equals(getComputedStyle(target4).getPropertyValue("left"), "200px")}); |
+ }, "Last animation should have latest compositing order"); |
+ |
+</script> |