diff options
Diffstat (limited to 'catapult/third_party/polymer/components/neon-animation/test/neon-animated-pages.html')
-rw-r--r-- | catapult/third_party/polymer/components/neon-animation/test/neon-animated-pages.html | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/catapult/third_party/polymer/components/neon-animation/test/neon-animated-pages.html b/catapult/third_party/polymer/components/neon-animation/test/neon-animated-pages.html new file mode 100644 index 00000000..98220b67 --- /dev/null +++ b/catapult/third_party/polymer/components/neon-animation/test/neon-animated-pages.html @@ -0,0 +1,101 @@ +<!doctype html> +<!-- +@license +Copyright (c) 2015 The Polymer Project Authors. All rights reserved. +This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt +The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt +The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt +Code distributed by Google as part of the polymer project is also +subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt +--> +<html> +<head> + + <title>neon-animated-pages tests</title> + + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes"> + + <script src="../../webcomponentsjs/webcomponents-lite.js"></script> + + <script src="../../web-component-tester/browser.js"></script> + <script src="../../test-fixture/test-fixture-mocha.js"></script> + + <link rel="import" href="../../test-fixture/test-fixture.html"> + <link rel="import" href="../neon-animated-pages.html"> + <link rel="import" href="../neon-animatable.html"> + <link rel="import" href="../animations/slide-from-left-animation.html"> + <link rel="import" href="../animations/slide-right-animation.html"> + <link rel="import" href="test-resizable-pages.html"> + +</head> +<body> + + <test-fixture id="basic"> + <template> + <neon-animated-pages> + </neon-animated-pages> + </template> + </test-fixture> + + <test-fixture id="notify-resize"> + <template> + <neon-animated-pages> + <a-resizable-page></a-resizable-page> + <b-resizable-page></b-resizable-page> + <c-resizable-page></c-resizable-page> + </neon-animated-pages> + </template> + </test-fixture> + + <test-fixture id="animate-initial-selection"> + <template> + <neon-animated-pages entry-animation="slide-from-left-animation" exit-animation="slide-right-animation" animate-initial-selection> + <neon-animatable></neon-animatable> + <neon-animatable></neon-animatable> + </neon-animated-pages> + </template> + </test-fixture> + + <script> + suite('basic', function() { + }); + suite('notify-resize', function() { + test('only a destination page recieves a resize event', function(done) { + var animatedPages = fixture('notify-resize'); + var resizables = Polymer.dom(animatedPages).children; + var recieves = {}; + resizables.forEach(function(page) { + page.addEventListener('iron-resize', function(event) { + var pageName = event.currentTarget.tagName; + recieves[pageName] = pageName in recieves ? recieves[pageName] + 1 : 1; + }); + }); + animatedPages.selected = 2; + setTimeout(function() { + assert.deepEqual(recieves, { + 'C-RESIZABLE-PAGE': 1 + }); + done(); + }, 50); + }); + }); + suite('animate-initial-selection', function() { + test('\'neon-animation-finish\' event fired after animating initial selection', function(done) { + var animatedPages = fixture('animate-initial-selection'); + assert.isUndefined(animatedPages.selected); + var pages = Polymer.dom(animatedPages).children; + animatedPages.addEventListener('neon-animation-finish', function(event) { + assert.strictEqual(animatedPages.selected, 0); + assert.isFalse(event.detail.fromPage); + assert.deepEqual(event.detail.toPage, pages[0]); + done(); + }); + animatedPages.selected = 0; + }); + }); + </script> + +</body> +</html> |