| Index: polymer_1.2.3/bower_components/iron-selector/test/multi.html
|
| diff --git a/polymer_1.0.4/bower_components/iron-selector/test/multi.html b/polymer_1.2.3/bower_components/iron-selector/test/multi.html
|
| similarity index 66%
|
| copy from polymer_1.0.4/bower_components/iron-selector/test/multi.html
|
| copy to polymer_1.2.3/bower_components/iron-selector/test/multi.html
|
| index fdc31c716e698d260347c6a1915878f9cf4acecf..2000d2ce520ada976dd2b2f6c68c8781d0715003 100644
|
| --- a/polymer_1.0.4/bower_components/iron-selector/test/multi.html
|
| +++ b/polymer_1.2.3/bower_components/iron-selector/test/multi.html
|
| @@ -20,6 +20,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
| <script src="../../test-fixture/test-fixture-mocha.js"></script>
|
|
|
| <link rel="import" href="../../test-fixture/test-fixture.html">
|
| + <link rel="import" href="../../iron-test-helpers/iron-test-helpers.html">
|
| <link rel="import" href="../iron-selector.html">
|
|
|
| <style>
|
| @@ -43,6 +44,20 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
| </template>
|
| </test-fixture>
|
|
|
| + <!--
|
| + NOTE(cdata): Enable test-fixture when polymer/polymer#2495 is resolved
|
| + -->
|
| + <!--<test-fixture id="repeatedItems">
|
| + <template>-->
|
| + <iron-selector multi id="repeatedItems">
|
| + <template is="dom-repeat" items='["foo", "bar", "baz"]'>
|
| + <div>[[item]]</div>
|
| + </template>
|
| + <div>vim</div>
|
| + </iron-selector>
|
| + <!--</template>
|
| + </test-fixture>-->
|
| +
|
| <script>
|
|
|
| suite('multi', function() {
|
| @@ -51,6 +66,7 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
|
|
| setup(function () {
|
| s = fixture('test');
|
| + t = Polymer.dom(s).querySelector('[is="dom-repeat"]');
|
| });
|
|
|
| test('honors the multi attribute', function() {
|
| @@ -115,6 +131,63 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
| assert.equal(deselectEventCounter, 1);
|
| });
|
|
|
| + test('fires selected-values-changed when selection changes', function() {
|
| + var selectedValuesChangedEventCounter = 0;
|
| +
|
| + s.addEventListener('selected-values-changed', function(e) {
|
| + selectedValuesChangedEventCounter++;
|
| + });
|
| +
|
| + MockInteractions.tap(Polymer.dom(s).children[0]);
|
| + MockInteractions.tap(Polymer.dom(s).children[0]);
|
| + MockInteractions.tap(Polymer.dom(s).children[0]);
|
| +
|
| + expect(selectedValuesChangedEventCounter);
|
| + });
|
| +
|
| + test('selects from items created by dom-repeat', function(done) {
|
| + var selectEventCounter = 0;
|
| + var firstChild;
|
| +
|
| + s = document.querySelector('#repeatedItems');
|
| + s.addEventListener('iron-select', function(e) {
|
| + selectEventCounter++;
|
| + });
|
| +
|
| + // NOTE(cdata): I guess `dom-repeat` doesn't stamp synchronously..
|
| + Polymer.Base.async(function() {
|
| + firstChild = Polymer.dom(s).querySelector('div');
|
| + MockInteractions.tap(firstChild);
|
| +
|
| + assert.equal(s.selectedItems[0].textContent, 'foo');
|
| + done();
|
| + });
|
| + });
|
| +
|
| + test('updates selection when dom changes', function(done) {
|
| + var selectEventCounter = 0;
|
| +
|
| + s = fixture('test');
|
| +
|
| + Polymer.Base.async(function() {
|
| + var firstChild = Polymer.dom(s).querySelector(':first-child');
|
| + var lastChild = Polymer.dom(s).querySelector(':last-child');
|
| +
|
| + MockInteractions.tap(firstChild);
|
| + MockInteractions.tap(lastChild);
|
| +
|
| + expect(s.selectedItems.length).to.be.equal(2);
|
| +
|
| + Polymer.dom(s).removeChild(lastChild);
|
| +
|
| + Polymer.Base.async(function() {
|
| + expect(s.selectedItems.length).to.be.equal(1);
|
| + done();
|
| + });
|
| + });
|
| +
|
| + });
|
| +
|
| /* test('toggle multi from true to false', function() {
|
| // set selected
|
| s.selected = [0, 2];
|
|
|