| <!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>iron-selector-selected-attribute</title> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> |
| |
| <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="../iron-selector.html"> |
| </head> |
| <body> |
| |
| <test-fixture id="test1"> |
| <template> |
| <iron-selector> |
| <div>Item 0</div> |
| <div>Item 1</div> |
| <div>Item 2</div> |
| <span>Item 3</span> |
| </iron-selector> |
| </template> |
| </test-fixture> |
| |
| <test-fixture id="test2"> |
| <template> |
| <iron-selector> |
| <div>Item 0</div> |
| <div>Item 1</div> |
| <div>Item 2</div> |
| <p>Item 3</p> |
| </iron-selector> |
| </template> |
| </test-fixture> |
| |
| <script> |
| |
| suite('excluded local names', function() { |
| |
| var test1, test2; |
| |
| setup(function () { |
| test1 = fixture('test1'); |
| test2 = fixture('test2'); |
| }); |
| |
| test('default `_excludedLocalNames`', function() { |
| assert.isTrue('template' in test1._excludedLocalNames); |
| assert.isTrue('template' in test2._excludedLocalNames); |
| }); |
| |
| test('custom `_excludedLocalNames`', function() { |
| test1._excludedLocalNames.foo = 1; |
| |
| assert.isTrue('foo' in test1._excludedLocalNames); |
| assert.isFalse('foo' in test2._excludedLocalNames); |
| }); |
| |
| |
| test('items', function(done) { |
| test1._excludedLocalNames.span = 1; |
| test2._excludedLocalNames.div = 1; |
| test1._updateItems(); |
| test2._updateItems(); |
| |
| Polymer.Base.async(function() { |
| var NOT_FOUND = -1; |
| var items1 = test1.items.map(function(el) { return el.localName; }); |
| var items2 = test2.items.map(function(el) { return el.localName; }); |
| |
| assert.equal(items1.indexOf('span'), NOT_FOUND); |
| assert.equal(items2.indexOf('div'), NOT_FOUND); |
| done(); |
| }); |
| }); |
| |
| }); |
| |
| </script> |
| |
| </body> |
| </html> |