| Index: lib/src/paper-dropdown-menu/test/paper-dropdown-menu.html
|
| diff --git a/lib/src/paper-dropdown-menu/test/paper-dropdown-menu.html b/lib/src/paper-dropdown-menu/test/paper-dropdown-menu.html
|
| index bc652582af9d3b9d53a4254b7ca47c7e836e4548..537a5154adc793ac64a60c898c9e3998d54a565d 100644
|
| --- a/lib/src/paper-dropdown-menu/test/paper-dropdown-menu.html
|
| +++ b/lib/src/paper-dropdown-menu/test/paper-dropdown-menu.html
|
| @@ -119,6 +119,57 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
|
| expect(dropdownMenu.selectedItem).to.be.equal(secondItem);
|
| });
|
| });
|
| +
|
| + suite('deselecting', function() {
|
| + var menu;
|
| +
|
| + setup(function() {
|
| + dropdownMenu = fixture('PreselectedDropdownMenu');
|
| + menu = Polymer.dom(dropdownMenu).querySelector('.dropdown-content');
|
| + });
|
| +
|
| + test('an `iron-deselect` event clears the current selection', function() {
|
| + menu.selected = null;
|
| + expect(dropdownMenu.selectedItem).to.be.equal(null);
|
| + });
|
| + });
|
| +
|
| + suite('validation', function() {
|
| + test('a non required dropdown is valid regardless of its selection', function() {
|
| + var dropdownMenu = fixture('TrivialDropdownMenu');
|
| + menu = Polymer.dom(dropdownMenu).querySelector('.dropdown-content');
|
| +
|
| + // no selection.
|
| + expect(dropdownMenu.validate()).to.be.true;
|
| + expect(dropdownMenu.invalid).to.be.false;
|
| + expect(dropdownMenu.value).to.not.be.ok;
|
| +
|
| + // some selection.
|
| + menu.selected = 1;
|
| + expect(dropdownMenu.validate()).to.be.true;
|
| + expect(dropdownMenu.invalid).to.be.false;
|
| + expect(dropdownMenu.value).to.be.equal('Bar');
|
| + });
|
| +
|
| + test('a required dropdown is invalid without a selection', function() {
|
| + var dropdownMenu = fixture('TrivialDropdownMenu');
|
| + dropdownMenu.required = true;
|
| +
|
| + // no selection.
|
| + expect(dropdownMenu.validate()).to.be.false;
|
| + expect(dropdownMenu.invalid).to.be.true;
|
| + expect(dropdownMenu.value).to.not.be.ok;
|
| + });
|
| +
|
| + test('a required dropdown is valid with a selection', function() {
|
| + var dropdownMenu = fixture('PreselectedDropdownMenu');
|
| + dropdownMenu.required = true;
|
| +
|
| + expect(dropdownMenu.validate()).to.be.true;
|
| + expect(dropdownMenu.invalid).to.be.false;
|
| + expect(dropdownMenu.value).to.be.equal('Bar');
|
| + });
|
| + });
|
| });
|
| </script>
|
|
|
|
|