Index: polymer_1.0.4/bower_components/iron-a11y-keys/test/basic-test.html |
diff --git a/polymer_1.0.4/bower_components/iron-a11y-keys/test/basic-test.html b/polymer_1.0.4/bower_components/iron-a11y-keys/test/basic-test.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8483da7d89d021f5ed6dcb477e7508437cfa3cb8 |
--- /dev/null |
+++ b/polymer_1.0.4/bower_components/iron-a11y-keys/test/basic-test.html |
@@ -0,0 +1,122 @@ |
+<!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> |
+ <meta charset="UTF-8"> |
+ <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes"> |
+ <title>iron-a11y-keys</title> |
+ |
+ <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="../../iron-test-helpers/iron-test-helpers.html"> |
+ <link rel="import" href="../../test-fixture/test-fixture.html"> |
+ <link rel="import" href="../iron-a11y-keys.html"> |
+</head> |
+<body> |
+ |
+ <test-fixture id="BasicKeys"> |
+ <template> |
+ <iron-a11y-keys></iron-a11y-keys> |
+ </template> |
+ </test-fixture> |
+ |
+ <script> |
+ suite('<iron-a11y-keys>', function() { |
+ var keys; |
+ |
+ setup(function() { |
+ keys = fixture('BasicKeys'); |
+ }); |
+ |
+ test('target is parentNode by default', function() { |
+ expect(keys.target).to.be.equal(keys.parentNode); |
+ }); |
+ |
+ suite('keys attribute', function() { |
+ test('causes an event listener to be added', function(done) { |
+ keys.keys = 'space'; |
+ |
+ keys.addEventListener('keys-pressed', function() { |
+ done(); |
+ }); |
+ |
+ Polymer.Base.async(function() { |
+ MockInteractions.pressSpace(keys.parentNode); |
+ }); |
+ }); |
+ |
+ test('will not trigger events for non-specified keys', function() { |
+ var keysPressedCount = 0; |
+ |
+ keys.keys = 'space'; |
+ |
+ keys.addEventListener('keys-pressed', function() { |
+ keysPressedCount++; |
+ }); |
+ |
+ MockInteractions.pressSpace(keys.parentNode); |
+ MockInteractions.pressEnter(keys.parentNode); |
+ |
+ expect(keysPressedCount).to.be.equal(1); |
+ }); |
+ |
+ test('triggers events for space separated keys', function() { |
+ var keysPressed = ''; |
+ |
+ keys.keys = 'a b c'; |
+ |
+ keys.addEventListener('keys-pressed', function(event) { |
+ keysPressed += event.detail.key; |
+ }); |
+ |
+ MockInteractions.pressAndReleaseKeyOn(keys.parentNode, 65); |
+ MockInteractions.pressAndReleaseKeyOn(keys.parentNode, 66); |
+ MockInteractions.pressAndReleaseKeyOn(keys.parentNode, 67); |
+ |
+ expect(keysPressed).to.be.equal('abc'); |
+ }); |
+ }); |
+ |
+ suite('event listeners', function() { |
+ test('listeners are only active when element is in document', function() { |
+ var keysPressedCount = 0; |
+ var parent = keys.parentNode; |
+ |
+ keys.keys = 'space'; |
+ |
+ keys.addEventListener('keys-pressed', function(event) { |
+ keysPressedCount++; |
+ }); |
+ |
+ MockInteractions.pressSpace(parent); |
+ expect(keysPressedCount).to.be.equal(1); |
+ |
+ keys.parentNode.removeChild(keys); |
+ TestHelpers.flushAsynchronousOperations(); |
+ |
+ MockInteractions.pressSpace(parent); |
+ expect(keysPressedCount).to.be.equal(1); |
+ |
+ parent.appendChild(keys); |
+ TestHelpers.flushAsynchronousOperations(); |
+ |
+ MockInteractions.pressSpace(parent); |
+ expect(keysPressedCount).to.be.equal(2); |
+ }); |
+ }); |
+ }); |
+ </script> |
+ |
+</body> |
+</html> |