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

Unified Diff: polymer_0.5.0/bower_components/core-resizable/test/basic.html

Issue 786953007: npm_modules: Fork bower_components into Polymer 0.4.0 and 0.5.0 versions (Closed) Base URL: https://chromium.googlesource.com/infra/third_party/npm_modules.git@master
Patch Set: Created 5 years, 12 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: polymer_0.5.0/bower_components/core-resizable/test/basic.html
diff --git a/polymer_0.5.0/bower_components/core-resizable/test/basic.html b/polymer_0.5.0/bower_components/core-resizable/test/basic.html
new file mode 100755
index 0000000000000000000000000000000000000000..51d7be347237a76f2d9360c21eb2353cf9e01545
--- /dev/null
+++ b/polymer_0.5.0/bower_components/core-resizable/test/basic.html
@@ -0,0 +1,504 @@
+<!doctype html>
+<!--
+Copyright (c) 2014 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>core-resizable tests</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
+ <script src="../../webcomponentsjs/webcomponents.js"></script>
+ <script src="../../web-component-tester/browser.js"></script>
+ <link rel="import" href="../core-resizable.html">
+ <link rel="import" href="test-elements.html">
+</head>
+<body fit>
+
+<!--
+
+Notes on Polyfill compatibility in tests:
+- Test elements loaded via imports, to ensure load order correctness
+ w.r.t. Polymer.mixin being availbale
+- Resize notifications and asserts are done asynchronously, since
+ there are timing differences w.r.t. when detached callbacks occur
+
+-->
+
+<polymer-element name='test-element' noscript>
+ <template>
+
+ <!-- Normal CoreResizer parent with child CoreResizables -->
+ <core-resizer-parent id="parent">
+ <core-resizable id="child1a"></core-resizable>
+ <div>
+ <core-resizable id="child1b"></core-resizable>
+ </div>
+ <core-resizable-in-shadow id="shadow1c"></core-resizable-in-shadow>
+ <div>
+ <core-resizable-in-shadow id="shadow1d"></core-resizable-in-shadow>
+ </div>
+ </core-resizer-parent>
+
+ <!-- CoreResizer parent using shouldNotify, with child CoreResizables -->
+ <core-resizer-parent-filtered id="parentFiltered">
+ <core-resizable id="child2a"></core-resizable>
+ <div>
+ <core-resizable id="child2b"></core-resizable>
+ </div>
+ <core-resizable-in-shadow id="shadow2c"></core-resizable-in-shadow>
+ <div>
+ <core-resizable-in-shadow id="shadow2d"></core-resizable-in-shadow>
+ </div>
+ </core-resizer-parent-filtered>
+
+ <!-- CoreResizer using resizerIsPeer:true, with peer CoreResizables -->
+ <div>
+ <core-resizable id="child3a"></core-resizable>
+ <div>
+ <core-resizable id="child3b"></core-resizable>
+ </div>
+ <core-resizer-peer id="peer"></core-resizer-peer>
+ <core-resizable-in-shadow id="shadow3c"></core-resizable-in-shadow>
+ <div>
+ <core-resizable-in-shadow id="shadow3d"></core-resizable-in-shadow>
+ </div>
+ </div>
+
+ <!-- CoreResizer using resizerIsPeer:true and shouldNotify, with peer CoreResizables -->
+ <div>
+ <core-resizable id="child4a"></core-resizable>
+ <div>
+ <core-resizable id="child4b"></core-resizable>
+ </div>
+ <core-resizer-peer-filtered id="peerFiltered"></core-resizer-peer-filtered>
+ <core-resizable-in-shadow id="shadow4c"></core-resizable-in-shadow>
+ <div>
+ <core-resizable-in-shadow id="shadow4d"></core-resizable-in-shadow>
+ </div>
+ </div>
+
+ <!-- Nested CoreResizers -->
+ <core-resizer-parent id="parentTop">
+ <core-resizer-parent id="parentNested">
+ <core-resizable id="child5a"></core-resizable>
+ <core-resizer-peer id="peerNested"></core-resizer-peer>
+ <div>
+ <core-resizable-in-shadow id="shadow5b"></core-resizable-in-shadow>
+ </div>
+ </core-resizer-parent>
+ </core-resizer-parent>
+
+ </template>
+
+</polymer-element>
+
+<test-element></test-element>
+
+<script>
+
+ document.addEventListener('polymer-ready', function() {
+
+ var testEl = document.querySelector('test-element');
+
+ var registered = [];
+ var notifyPending = [];
+ var registerResizeHandler = function(el, expectNotification) {
+ registered.push(el);
+ if (expectNotification !== false) {
+ notifyPending.push(el);
+ }
+ el.resizeHandler = function() {
+ var idx = notifyPending.indexOf(this);
+ if (idx < 0) {
+ debugger;
+ }
+ assert(idx >= 0, 'resize notified to unexpected resizable ' + this.localName + '#' + this.id);
+ notifyPending.splice(idx, 1);
+ }.bind(el);
+ };
+ var unregisterResizeHandlers = function() {
+ registered.forEach(function(r) {
+ r.resizeHandler = null;
+ });
+ registered = [];
+ notifyPending = [];
+ };
+
+ suite('core-resizer-parent', function() {
+
+ test('notify resizables from window', function(done) {
+ registerResizeHandler(testEl.$.parent);
+ registerResizeHandler(testEl.$.child1a);
+ registerResizeHandler(testEl.$.child1b);
+ registerResizeHandler(testEl.$.shadow1c.$.resizable);
+ registerResizeHandler(testEl.$.shadow1d.$.resizable);
+ setTimeout(function() {
+ window.dispatchEvent(new CustomEvent('resize', { bubbles: false }));
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ test('notify resizables from parent', function(done) {
+ registerResizeHandler(testEl.$.parent);
+ registerResizeHandler(testEl.$.child1a);
+ registerResizeHandler(testEl.$.child1b);
+ registerResizeHandler(testEl.$.shadow1c.$.resizable);
+ registerResizeHandler(testEl.$.shadow1d.$.resizable);
+ setTimeout(function() {
+ testEl.$.parent.notifyResize();
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ test('detach resizables then notify parent', function(done) {
+ registerResizeHandler(testEl.$.parent);
+ registerResizeHandler(testEl.$.child1a, false);
+ registerResizeHandler(testEl.$.child1b);
+ registerResizeHandler(testEl.$.shadow1c.$.resizable, false);
+ registerResizeHandler(testEl.$.shadow1d.$.resizable);
+ testEl.$.child1a.remove();
+ testEl.$.shadow1c.remove();
+ setTimeout(function() {
+ testEl.$.parent.notifyResize();
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ test('detach parent then notify window', function(done) {
+ registerResizeHandler(testEl.$.parent, false);
+ registerResizeHandler(testEl.$.child1a, false);
+ registerResizeHandler(testEl.$.child1b, false);
+ registerResizeHandler(testEl.$.shadow1c.$.resizable, false);
+ registerResizeHandler(testEl.$.shadow1d.$.resizable, false);
+ testEl.$.parent.remove();
+ setTimeout(function() {
+ window.dispatchEvent(new CustomEvent('resize', { bubbles: false }));
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ });
+
+ suite('core-resizer-parent-filtered', function() {
+
+ test('notify resizables from window', function(done) {
+ registerResizeHandler(testEl.$.parentFiltered);
+ registerResizeHandler(testEl.$.child2a);
+ registerResizeHandler(testEl.$.child2b, false);
+ registerResizeHandler(testEl.$.shadow2c.$.resizable, false);
+ registerResizeHandler(testEl.$.shadow2d.$.resizable, false);
+ testEl.$.parentFiltered.active = testEl.$.child2a;
+ setTimeout(function() {
+ window.dispatchEvent(new CustomEvent('resize', { bubbles: false }));
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ test('notify resizables from parent', function(done) {
+ registerResizeHandler(testEl.$.parentFiltered);
+ registerResizeHandler(testEl.$.child2a);
+ registerResizeHandler(testEl.$.child2b, false);
+ registerResizeHandler(testEl.$.shadow2c.$.resizable, false);
+ registerResizeHandler(testEl.$.shadow2d.$.resizable, false);
+ testEl.$.parentFiltered.active = testEl.$.child2a;
+ setTimeout(function() {
+ testEl.$.parentFiltered.notifyResize();
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ test('detach resizables then notify parent', function(done) {
+ registerResizeHandler(testEl.$.parentFiltered);
+ registerResizeHandler(testEl.$.child2a, false);
+ registerResizeHandler(testEl.$.child2b, false);
+ registerResizeHandler(testEl.$.shadow2c.$.resizable, false);
+ registerResizeHandler(testEl.$.shadow2d.$.resizable);
+ testEl.$.child2a.remove();
+ testEl.$.shadow2c.remove();
+ testEl.$.parentFiltered.active = testEl.$.shadow2d.$.resizable;
+ setTimeout(function() {
+ testEl.$.parentFiltered.notifyResize();
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ test('detach parent then notify window', function(done) {
+ registerResizeHandler(testEl.$.parentFiltered, false);
+ registerResizeHandler(testEl.$.child2a, false);
+ registerResizeHandler(testEl.$.child2b, false);
+ registerResizeHandler(testEl.$.shadow2c.$.resizable, false);
+ registerResizeHandler(testEl.$.shadow2d.$.resizable, false);
+ testEl.$.parentFiltered.remove();
+ testEl.$.parentFiltered.active = testEl.$.shadow2d.$.resizable;
+ setTimeout(function() {
+ window.dispatchEvent(new CustomEvent('resize', { bubbles: false }));
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ });
+
+ suite('core-resizer-peer', function() {
+
+ test('notify resizables from window', function(done) {
+ registerResizeHandler(testEl.$.peer);
+ registerResizeHandler(testEl.$.child3a);
+ registerResizeHandler(testEl.$.child3b);
+ registerResizeHandler(testEl.$.shadow3c.$.resizable);
+ registerResizeHandler(testEl.$.shadow3d.$.resizable);
+ setTimeout(function() {
+ window.dispatchEvent(new CustomEvent('resize', { bubbles: false }));
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ test('notify resizables from peer', function(done) {
+ registerResizeHandler(testEl.$.peer);
+ registerResizeHandler(testEl.$.child3a);
+ registerResizeHandler(testEl.$.child3b);
+ registerResizeHandler(testEl.$.shadow3c.$.resizable);
+ registerResizeHandler(testEl.$.shadow3d.$.resizable);
+ setTimeout(function() {
+ testEl.$.peer.notifyResize();
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ test('detach resizables then notify', function(done) {
+ registerResizeHandler(testEl.$.peer);
+ registerResizeHandler(testEl.$.child3a, false);
+ registerResizeHandler(testEl.$.child3b);
+ registerResizeHandler(testEl.$.shadow3c.$.resizable, false);
+ registerResizeHandler(testEl.$.shadow3d.$.resizable);
+ testEl.$.child3a.remove();
+ testEl.$.shadow3c.remove();
+ setTimeout(function() {
+ testEl.$.peer.notifyResize();
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ test('detach peer then notify', function(done) {
+ registerResizeHandler(testEl.$.peer);
+ registerResizeHandler(testEl.$.child3a, false);
+ registerResizeHandler(testEl.$.child3b);
+ registerResizeHandler(testEl.$.shadow3c.$.resizable, false);
+ registerResizeHandler(testEl.$.shadow3d.$.resizable);
+ testEl.$.peer.remove();
+ setTimeout(function() {
+ testEl.$.peer.notifyResize();
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ });
+
+ suite('core-resizer-peer-filtered', function(done) {
+
+ test('notify resizables from window', function(done) {
+ registerResizeHandler(testEl.$.peerFiltered);
+ registerResizeHandler(testEl.$.child4a);
+ registerResizeHandler(testEl.$.child4b, false);
+ registerResizeHandler(testEl.$.shadow4c.$.resizable, false);
+ registerResizeHandler(testEl.$.shadow4d.$.resizable, false);
+ testEl.$.peerFiltered.active = testEl.$.child4a;
+ setTimeout(function() {
+ window.dispatchEvent(new CustomEvent('resize', { bubbles: false }));
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ test('notify resizables from peer', function(done) {
+ registerResizeHandler(testEl.$.peerFiltered);
+ registerResizeHandler(testEl.$.child4a);
+ registerResizeHandler(testEl.$.child4b, false);
+ registerResizeHandler(testEl.$.shadow4c.$.resizable, false);
+ registerResizeHandler(testEl.$.shadow4d.$.resizable, false);
+ testEl.$.peerFiltered.active = testEl.$.child4a;
+ setTimeout(function() {
+ testEl.$.peerFiltered.notifyResize();
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ test('detach resizables then notify parent', function(done) {
+ registerResizeHandler(testEl.$.peerFiltered);
+ registerResizeHandler(testEl.$.child4a, false);
+ registerResizeHandler(testEl.$.child4b, false);
+ registerResizeHandler(testEl.$.shadow4c.$.resizable, false);
+ registerResizeHandler(testEl.$.shadow4d.$.resizable);
+ testEl.$.child4a.remove();
+ testEl.$.shadow4c.remove();
+ testEl.$.peerFiltered.active = testEl.$.shadow4d.$.resizable;
+ setTimeout(function() {
+ testEl.$.peerFiltered.notifyResize();
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ test('detach peer then notify window', function(done) {
+ registerResizeHandler(testEl.$.peerFiltered, false);
+ registerResizeHandler(testEl.$.child4a, false);
+ registerResizeHandler(testEl.$.child4b, false);
+ registerResizeHandler(testEl.$.shadow4c.$.resizable, false);
+ registerResizeHandler(testEl.$.shadow4d.$.resizable, false);
+ testEl.$.peerFiltered.remove();
+ testEl.$.peerFiltered.active = testEl.$.shadow4d.$.resizable;
+ setTimeout(function() {
+ window.dispatchEvent(new CustomEvent('resize', { bubbles: false }));
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ });
+
+ suite('core-resizer-nested', function() {
+
+ test('notify resizables from window', function(done) {
+ registerResizeHandler(testEl.$.parentTop);
+ registerResizeHandler(testEl.$.parentNested);
+ registerResizeHandler(testEl.$.peerNested);
+ registerResizeHandler(testEl.$.child5a);
+ registerResizeHandler(testEl.$.shadow5b.$.resizable);
+ setTimeout(function() {
+ window.dispatchEvent(new CustomEvent('resize', { bubbles: false }));
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ test('notify resizables from top parent', function(done) {
+ registerResizeHandler(testEl.$.parentTop);
+ registerResizeHandler(testEl.$.parentNested);
+ registerResizeHandler(testEl.$.peerNested);
+ registerResizeHandler(testEl.$.child5a);
+ registerResizeHandler(testEl.$.shadow5b.$.resizable);
+ setTimeout(function() {
+ testEl.$.parentTop.notifyResize();
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ test('notify resizables from nested parent', function(done) {
+ registerResizeHandler(testEl.$.parentTop, false);
+ registerResizeHandler(testEl.$.parentNested);
+ registerResizeHandler(testEl.$.peerNested);
+ registerResizeHandler(testEl.$.child5a);
+ registerResizeHandler(testEl.$.shadow5b.$.resizable);
+ setTimeout(function() {
+ testEl.$.parentNested.notifyResize();
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ test('notify resizables from nested peer', function(done) {
+ registerResizeHandler(testEl.$.parentTop, false);
+ registerResizeHandler(testEl.$.parentNested, false);
+ registerResizeHandler(testEl.$.peerNested);
+ registerResizeHandler(testEl.$.child5a);
+ registerResizeHandler(testEl.$.shadow5b.$.resizable);
+ setTimeout(function() {
+ testEl.$.peerNested.notifyResize();
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ // Known limitation: peers of detached `resizerIsPeer` won't be notified
+ // by parent resizers; ROI on that bookkeeping not considered high enough
+ test('detach peer then notify', function(done) {
+ registerResizeHandler(testEl.$.parentTop);
+ registerResizeHandler(testEl.$.parentNested);
+ registerResizeHandler(testEl.$.peerNested, false);
+ registerResizeHandler(testEl.$.child5a, false);
+ registerResizeHandler(testEl.$.shadow5b.$.resizable, false);
+ testEl.$.peerNested.remove();
+ setTimeout(function() {
+ window.dispatchEvent(new CustomEvent('resize', { bubbles: false }));
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ test('detach resizables then notify', function(done) {
+ registerResizeHandler(testEl.$.parentTop);
+ registerResizeHandler(testEl.$.parentNested);
+ registerResizeHandler(testEl.$.peerNested, false); // removed in above test
+ registerResizeHandler(testEl.$.child5a, false);
+ registerResizeHandler(testEl.$.shadow5b.$.resizable, false);
+ testEl.$.child5a.remove();
+ testEl.$.shadow5b.remove();
+ setTimeout(function() {
+ window.dispatchEvent(new CustomEvent('resize', { bubbles: false }));
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ test('detach top parent then notify', function(done) {
+ registerResizeHandler(testEl.$.parentTop, false);
+ registerResizeHandler(testEl.$.parentNested, false);
+ registerResizeHandler(testEl.$.peerNested, false);
+ registerResizeHandler(testEl.$.child5a, false);
+ registerResizeHandler(testEl.$.shadow5b.$.resizable, false);
+ testEl.$.parentTop.remove();
+ setTimeout(function() {
+ window.dispatchEvent(new CustomEvent('resize', { bubbles: false }));
+ assert(notifyPending.length === 0, 'all resizables were not notified');
+ unregisterResizeHandlers();
+ done();
+ });
+ });
+
+ });
+
+ });
+
+</script>
+
+</body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698