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

Unified Diff: third_party/polymer/polymer-selector/test/html/polymer-selector-multi.html

Issue 141483005: Add polymer-selector and polymer-selection to polymer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 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: 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>

Powered by Google App Engine
This is Rietveld 408576698