| Index: third_party/polymer/polymer-selector/test/html/polymer-selector-multi.html | 
| diff --git a/third_party/polymer/polymer-selector/test/html/polymer-selector-multi.html b/third_party/polymer/polymer-selector/test/html/polymer-selector-multi.html | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..53a25f3b4ea3e77a6a4b6f49597f2bbe8169ceaf | 
| --- /dev/null | 
| +++ b/third_party/polymer/polymer-selector/test/html/polymer-selector-multi.html | 
| @@ -0,0 +1,69 @@ | 
| +<!doctype html> | 
| +<html> | 
| +<head> | 
| +  <title>polymer-selector-multi</title> | 
| +  <script src="../../../platform/platform.js"></script> | 
| +  <script src="../../../tools/test/htmltest.js"></script> | 
| +  <script src="../../../tools/test/chai/chai.js"></script> | 
| +  <link rel="import" href="../../polymer-selector.html"> | 
| +  <style> | 
| +    .polymer-selected { | 
| +      background: #ccc; | 
| +    } | 
| +  </style> | 
| +</head> | 
| +<body> | 
| + | 
| +  <polymer-selector id="selector" multi> | 
| +    <div>Item 1</div> | 
| +    <div>Item 2</div> | 
| +    <div>Item 3</div> | 
| +    <div>Item 4</div> | 
| +    <div>Item 5</div> | 
| +  </polymer-selector> | 
| + | 
| +  <script> | 
| +    var assert = chai.assert; | 
| +    document.addEventListener('WebComponentsReady', function() { | 
| +      // | 
| +      var s = document.querySelector('#selector'); | 
| +      assert.equal(s.selected, null); | 
| +      assert.equal(s.selectedClass, 'polymer-selected'); | 
| +      assert.isTrue(s.multi); | 
| +      assert.equal(s.valueattr, 'name'); | 
| +      assert.equal(s.items.length, 5); | 
| +      // setup listener for polymer-select event | 
| +      var selectEventCounter = 0; | 
| +      s.addEventListener('polymer-select', function(e) { | 
| +        if (e.detail.isSelected) { | 
| +          selectEventCounter++; | 
| +        } else { | 
| +          selectEventCounter--; | 
| +        } | 
| +        // check selectedItem in polymer-select event | 
| +        assert.equal(this.selectedItem.length, selectEventCounter); | 
| +      }); | 
| +      // set selected | 
| +      new PathObserver(s, 'selected', function() { | 
| +        // check polymer-select event | 
| +        assert.equal(selectEventCounter, 2); | 
| +        // check selected class | 
| +        assert.isTrue(s.children[0].classList.contains('polymer-selected')); | 
| +        assert.isTrue(s.children[2].classList.contains('polymer-selected')); | 
| +        // check selectedItem | 
| +        assert.equal(s.selectedItem.length, 2); | 
| +        assert.equal(s.selectedItem[0], s.children[0]); | 
| +        assert.equal(s.selectedItem[1], s.children[2]); | 
| +        // tap on already selected element should unselect it | 
| +        s.children[0].dispatchEvent(new CustomEvent('tap', {bubbles: true})); | 
| +        // check selected | 
| +        assert.equal(s.selected.length, 1); | 
| +        assert.isFalse(s.children[0].classList.contains('polymer-selected')); | 
| +        done(); | 
| +      }); | 
| +      s.selected = [0, 2]; | 
| +      Platform.flush(); | 
| +    }); | 
| +  </script> | 
| +</body> | 
| +</html> | 
|  |