Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(600)

Unified Diff: pkg/polymer/lib/elements/web-animations-js/test/testcases/test-restart.html

Issue 175443005: [polymer] import all elements (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: updated from bower Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/polymer/lib/elements/web-animations-js/test/testcases/test-restart.html
diff --git a/pkg/polymer/lib/elements/web-animations-js/test/testcases/test-restart.html b/pkg/polymer/lib/elements/web-animations-js/test/testcases/test-restart.html
new file mode 100644
index 0000000000000000000000000000000000000000..0aac786d3ead8b26b8536acc693b0ff69d8d93c8
--- /dev/null
+++ b/pkg/polymer/lib/elements/web-animations-js/test/testcases/test-restart.html
@@ -0,0 +1,115 @@
+<!--
+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;
+ left: 0px;
+}
+</style>
+
+<div id="anim1" class="anim"></div>
+<div id="anim2" class="anim"></div>
+<div id="anim3" class="anim"></div>
+<div id="anim4" class="anim"></div>
+
+<script src="../bootstrap.js"></script>
+<script>
+"use strict";
+
+var animFunc = {left: "100px"};
+var anim1 = new Animation(document.getElementById("anim1"), animFunc, {duration: 1.0, fill: 'forwards'});
+var player1 = document.timeline.play(anim1);
+
+var anim2 = new Animation(document.getElementById("anim2"), animFunc, {duration: 1.0, fill: 'forwards'});
+var player2 = document.timeline.play(anim2);
+
+var anim3 = new Animation(document.getElementById("anim3"), animFunc, {duration: 1.0, fill: 'forwards'});
+var player3 = document.timeline.play(anim3);
+
+// Check that once an animation is completed, creating a new Player restarts it.
+timing_test(function() {
+ at(1.0, function() {
+ assert_styles('#anim1', {'left': '100px'});
+ document.timeline.play(anim1);
+ });
+ }, "Animation 1 should be in end state");
+
+timing_test(function() {
+ at(1.5, function() {assert_styles('#anim1', {'left': '50px'})});
+ }, "Animation 1 should have been restarted");
+
+timing_test(function() {
+ at(2.0, function() {assert_styles('#anim1', {'left': '100px'})});
+ }, "Animation 1 should be in end state a second time");
+
+// Setting Player.currentTime = 0 restarts it.
+timing_test(function() {
+ at(0.5, function() {
+ assert_styles("#anim2", {'left': '50px'});
+ player2.currentTime = 0.0;
+ });
+ }, "Animation 2 should be in the middle of running");
+
+timing_test(function() {
+ at(0.75, function() {
+ assert_styles('#anim2', {'left': '25px'});
+ });
+ }, "Animation 2 should have been restarted");
+
+timing_test(function() {
+ at(1.0, function() {
+ assert_styles('#anim2', {'left': '50px'});
+ });
+ }, "Animation 2 should have been restarted, 2");
+
+timing_test(function() {
+ at(1.5, function() {
+ assert_styles('#anim2', {'left': '100px'});
+ });
+ }, "Animation 2 should be in end state a second time");
+
+// Even when animation is completed, setting Player.currentTime = 0 restarts
+// it.
+timing_test(function() {
+ at(1.0, function() {
+ assert_styles("#anim3", {'left': '100px'});
+ player3.currentTime = 0.0;
+ });
+ }, "Animation 3 should be in end state");
+
+timing_test(function() {
+ at(1.5, function() {
+ assert_styles('#anim3', {'left': '50px'});
+ });
+ }, "Animation 3 should have been restarted");
+
+timing_test(function() { at(2.0, function() {
+ assert_styles('#anim3', {'left': '100px'});
+ });
+ }, "Animation 3 should be in end state a second time");
+
+
+// Check that TimedItem.localTime is read-only.
+var anim4 = new Animation(document.getElementById("anim4"), animFunc, 1.0);
+document.timeline.play(anim4);
+test(function() {
+ assert_throws(new TypeError(), function() {anim4.localTime = 0;});
+ assert_equals(anim4.localTime, null);
+ }, "TimedItem.localTime should be read-only");
+
+</script>

Powered by Google App Engine
This is Rietveld 408576698