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

Unified Diff: pkg/polymer/lib/elements/web-animations-js/test/testcases/test-update-state.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-update-state.html
diff --git a/pkg/polymer/lib/elements/web-animations-js/test/testcases/test-update-state.html b/pkg/polymer/lib/elements/web-animations-js/test/testcases/test-update-state.html
new file mode 100644
index 0000000000000000000000000000000000000000..1e242decb20a32c363eb22511252f3466e89a7c7
--- /dev/null
+++ b/pkg/polymer/lib/elements/web-animations-js/test/testcases/test-update-state.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">
+
+<script>
+var expected_failures = {
+ 'Updated style should be visible despite unrelated errors at t=5s': {
+ firefox: true,
+ message: "Issue with window sizing cause value to be zero rather then 500px."
+ },
+ 'Changing the start time of a new player to before the current time should cause it to take effect at t=3s': {
+ msie: true,
+ message: "rgb != rgba"
+ }
+};
+</script>
+<script src="../bootstrap.js"></script>
+<script>
+"use strict";
+
+var element = document.createElement('span');
+document.body.appendChild(element);
+
+test(function() {
+ element.animate([{marginLeft: '1px'}, {marginLeft: '1px'}], 1);
+ assert_styles(element, {marginLeft: '0px'});
+}, 'New animation should not apply within script before timeline has started.')
+
+timing_test(function() {
+ at(0, function() {
+ element.animate([{marginTop: '1px'}, {marginTop: '1px'}], 1);
+ assert_styles(element, {marginTop: '1px'});
+ });
+}, 'New animation should apply within script after timeline has started.')
+
+timing_test(function() {
+ var anim = element.animate([{left: '0px'}, {left: '1000px'}], 10);
+ at(1, function() {
+ assert_styles(element, {left: '100px'});
+
+ anim.player.currentTime += 1;
+ assert_styles(element, {left: '200px'});
+ });
+}, 'Updated style should be visible after player seek');
+
+timing_test(function() {
+ var anim = element.animate([{top: '0px'}, {top: '1000px'}], 10);
+ at(1, function() {
+ assert_styles(element, {top: '100px'});
+
+ anim.specified.delay = -1;
+ assert_styles(element, {top: '200px'});
+ });
+}, 'Updated style should be visible after change to specified timing');
+
+var group = new SeqGroup([
+ new Animation(element, {}, 1),
+ new Animation(element, [{right: '0px'}, {right: '1000px'}], 10),
+]);
+document.timeline.play(group);
+timing_test(function() {
+ at(2, function() {
+ assert_styles(element, {right: '100px'});
+
+ group.children[0].specified.duration = 0.5;
+ assert_styles(element, {right: '150px'});
+
+ group.children[0].remove();
+ assert_styles(element, {right: '200px'});
+ });
+}, 'Updated style should be visible after change to animation tree');
+
+timing_test(function() {
+ at(3, function() {
+ var anim = element.animate([{color: 'red'}, {color: 'green'}, {color: 'red'}], 1);
+ assert_equals(anim.player.startTime, 3);
+ assert_styles(element, {color: 'red'});
+
+ anim.player.startTime -= 0.5;
+ assert_styles(element, {color: 'green'});
+ });
+}, 'Changing the start time of a new player to before the current time should cause it to take effect');
+
+var anim3 = element.animate([{bottom: '0px'}, {bottom: '1000px'}], 10);
+// Run this last, since if it fails it's likely to corrupt the other tests.
+timing_test(function() {
+ at(5, function() {
+ assert_styles(element, {bottom: '500px'});
+
+ try {
+ var group = new ParGroup();
+ group.append(group);
+ } catch (e) {
+ }
+ anim3.specified.delay = -1;
+ assert_styles(element, {bottom: '600px'});
+ });
+}, 'Updated style should be visible despite unrelated errors');
+</script>

Powered by Google App Engine
This is Rietveld 408576698