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

Unified Diff: pkg/polymer/lib/elements/web-animations-js/test/testcases/impl-test-player-sees-handlers.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/impl-test-player-sees-handlers.html
diff --git a/pkg/polymer/lib/elements/web-animations-js/test/testcases/impl-test-player-sees-handlers.html b/pkg/polymer/lib/elements/web-animations-js/test/testcases/impl-test-player-sees-handlers.html
new file mode 100644
index 0000000000000000000000000000000000000000..99014949ae35847674d53f49c7ac359885d0fb07
--- /dev/null
+++ b/pkg/polymer/lib/elements/web-animations-js/test/testcases/impl-test-player-sees-handlers.html
@@ -0,0 +1,113 @@
+<!--
+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">
+<body></body>
+<script src="../bootstrap.js" nochecks></script>
+<script>
+"use strict";
+
+var body = document.querySelector("body");
+
+test(function() {
+ var anAnimation = new Animation(body, {left: '100px'}, 1);
+ var player = document.timeline.play(anAnimation);
+ assert_false(player._needsHandlerPass);
+ anAnimation.onstart = function() { };
+ assert_true(player._needsHandlerPass);
+ anAnimation.onstart = undefined;
+ assert_false(player._needsHandlerPass);
+}, 'player sees handler changes after play called');
+
+test(function() {
+ var anAnimation = new Animation(body, {left: '100px'}, 1);
+ anAnimation.onend = function() { };
+ var player = document.timeline.play(anAnimation);
+ assert_true(player._needsHandlerPass);
+ anAnimation.onend = null;
+ assert_false(player._needsHandlerPass);
+ var player = document.timeline.play(anAnimation);
+ assert_false(player._needsHandlerPass);
+}, 'player gets appropriate handler state for changes before play is called');
+
+test(function() {
+ var anAnimation = new Animation(body, {left: '100px'}, 1);
+ anAnimation.oniteration = function() { };
+ var player = document.timeline.play(anAnimation);
+ assert_true(player._needsHandlerPass);
+ anAnimation.oncancel = function() { };
+ assert_true(player._needsHandlerPass);
+ anAnimation.oniteration = null;
+ assert_true(player._needsHandlerPass);
+ anAnimation.oncancel = undefined;
+ assert_false(player._needsHandlerPass);
+}, 'player needs a handler pass while at least one handler exists in the tree');
+
+test(function() {
+
+ var aTree = new ParGroup([
+ new SeqGroup([
+ new Animation(body, {left: '100px'}, 1),
+ new Animation(body, {left: '100px'}, 1)
+ ]),
+ new Animation(body, {left: '100px'}, 1)
+ ]);
+ aTree.children[1].onend = function() { };
+ var player = document.timeline.play(aTree);
+ assert_true(player._needsHandlerPass);
+ aTree.children[1].onend = undefined;
+ assert_false(player._needsHandlerPass);
+ aTree.children[0].children[0].onstart = function() { };
+ assert_true(player._needsHandlerPass);
+ aTree.children[0].children[1].oncancel = function() { };
+ assert_true(player._needsHandlerPass);
+ aTree.children[0].children[0].onstart = null;
+ assert_true(player._needsHandlerPass);
+ aTree.children[0].children[1].oncancel = undefined;
+ assert_false(player._needsHandlerPass);
+ aTree.oniteration = function() { };
+ assert_true(player._needsHandlerPass);
+ aTree.oniteration = null;
+ assert_false(player._needsHandlerPass);
+}, 'needsHandlerPass correctly calculated for non-trivial trees');
+
+test(function() {
+ var anAnimation = new Animation(body, {left: '100px'}, 1);
+ anAnimation.onstart = function() { };
+ var aGroup = new ParGroup([anAnimation]);
+ var player = document.timeline.play(aGroup);
+ assert_true(player._needsHandlerPass);
+}, 'needsHandlerPass correctly passed from child to parent on construction');
+
+test(function() {
+ var anAnimation = new Animation(body, {left: '100px'}, 1);
+ anAnimation.onstart = function() { };
+ var aGroup = new ParGroup([]);
+ aGroup.append(anAnimation);
+ var player = document.timeline.play(aGroup);
+ assert_true(player._needsHandlerPass);
+}, 'needsHandlerPass correctly passed from child to parent on addition');
+
+test(function() {
+ var anAnimation = new Animation(body, {left: '100px'}, 1);
+ anAnimation.onstart = function() { };
+ var aGroup = new ParGroup([]);
+ var player = document.timeline.play(aGroup);
+ aGroup.append(anAnimation);
+ assert_true(player._needsHandlerPass);
+}, 'needsHandlerPass correctly passed from child to parent on ' +
+ 'addition after player creation');
+</script>

Powered by Google App Engine
This is Rietveld 408576698