From 9f7f0a427966741a460e91336947698879f8ad77 Mon Sep 17 00:00:00 2001 From: Alexander Schmitz Date: Fri, 22 Aug 2014 16:40:09 -0400 Subject: Selectmenu: update to use button css This ensures consistency between different form elements --- tests/unit/selectmenu/core.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'tests/unit/selectmenu/core.js') diff --git a/tests/unit/selectmenu/core.js b/tests/unit/selectmenu/core.js index 5431d689d..021f9b28a 100644 --- a/tests/unit/selectmenu/core.js +++ b/tests/unit/selectmenu/core.js @@ -6,7 +6,7 @@ define( [ module( "selectmenu: core" ); test( "markup structure", function( assert ) { - expect( 4 ); + expect( 5 ); var element = $( "#files" ).selectmenu(), button = element.selectmenu( "widget" ), @@ -16,6 +16,7 @@ test( "markup structure", function( assert ) { assert.hasClasses( button, "ui-selectmenu-button ui-selectmenu-button-closed ui-widget" ); assert.lacksClasses( button, "ui-selectmenu-button-open" ); + assert.lacksClasses( button, "ui-selectmenu-open" ); assert.hasClasses( menuWrap, "ui-selectmenu-menu" ); assert.lacksClasses( menuWrap, "ui-selectmenu-menu-open" ); } ); @@ -89,7 +90,7 @@ test( "_renderButtonItem()", function() { element.selectmenu( "refresh" ); option = element.find( "option:selected" ); equal( - option.text() + element[ 0 ].selectedIndex, + " " + option.text() + element[ 0 ].selectedIndex, button.text(), "refresh: button item text" ); @@ -98,7 +99,7 @@ test( "_renderButtonItem()", function() { menu.find( "li" ).last().simulate( "mouseover" ).trigger( "click" ); option = element.find( "option" ).last(); equal( - option.text() + element[ 0 ].selectedIndex, + " " + option.text() + element[ 0 ].selectedIndex, button.text(), "click: button item text" ); @@ -146,7 +147,7 @@ $.each( [ selected.val(), "original select state" ); - equal( button.text(), selected.text(), "button text" ); + equal( button.text(), " " + selected.text(), "button text" ); start(); } ); } ); @@ -181,7 +182,7 @@ $.each( [ selected.val(), "original select state" ); - equal( button.text(), selected.text(), "button text" ); + equal( button.text(), " " + selected.text(), "button text" ); start(); }, 1 ); } ); @@ -222,7 +223,7 @@ $.each( [ "button aria-activedescendant" ); equal( element.find( "option:selected" ).val(), options.eq( 1 ).val(), "original select state" ); - equal( button.text(), options.eq( 1 ).text(), "button text" ); + equal( button.text(), " " + options.eq( 1 ).text(), "button text" ); start(); } ); } ); -- cgit v1.2.3 From 6b050342835bd8cee6433d7b947f47d2dc4577f9 Mon Sep 17 00:00:00 2001 From: Alexander Schmitz Date: Wed, 16 Sep 2015 01:50:13 -0400 Subject: Selectmenu: Address review comments --- tests/unit/selectmenu/core.js | 5 ++--- tests/unit/selectmenu/selectmenu.html | 1 - 2 files changed, 2 insertions(+), 4 deletions(-) (limited to 'tests/unit/selectmenu/core.js') diff --git a/tests/unit/selectmenu/core.js b/tests/unit/selectmenu/core.js index 021f9b28a..a6024fb9a 100644 --- a/tests/unit/selectmenu/core.js +++ b/tests/unit/selectmenu/core.js @@ -6,7 +6,7 @@ define( [ module( "selectmenu: core" ); test( "markup structure", function( assert ) { - expect( 5 ); + expect( 4 ); var element = $( "#files" ).selectmenu(), button = element.selectmenu( "widget" ), @@ -15,8 +15,7 @@ test( "markup structure", function( assert ) { assert.hasClasses( button, "ui-selectmenu-button ui-selectmenu-button-closed ui-widget" ); - assert.lacksClasses( button, "ui-selectmenu-button-open" ); - assert.lacksClasses( button, "ui-selectmenu-open" ); + assert.lacksClasses( button, "ui-selectmenu-button-open ui-selectmenu-open" ); assert.hasClasses( menuWrap, "ui-selectmenu-menu" ); assert.lacksClasses( menuWrap, "ui-selectmenu-menu-open" ); } ); diff --git a/tests/unit/selectmenu/selectmenu.html b/tests/unit/selectmenu/selectmenu.html index 14a6c8087..1df6e3ebc 100644 --- a/tests/unit/selectmenu/selectmenu.html +++ b/tests/unit/selectmenu/selectmenu.html @@ -6,7 +6,6 @@ - -- cgit v1.2.3 From 3570cc5a2b2ec59fa1ccb4c78a58f526ca69918e Mon Sep 17 00:00:00 2001 From: Jörn Zaefferer Date: Sat, 17 Oct 2015 15:31:02 -0400 Subject: Tests: Fix button space assertions on IE8 IE8 still doesn't keep the space in the text (or HTML) representation. We don't really care, so adding more trims in these tests as well. --- tests/unit/dialog/options.js | 8 ++++---- tests/unit/selectmenu/core.js | 14 +++++++------- tests/unit/selectmenu/methods.js | 8 ++++---- 3 files changed, 15 insertions(+), 15 deletions(-) (limited to 'tests/unit/selectmenu/core.js') diff --git a/tests/unit/dialog/options.js b/tests/unit/dialog/options.js index b12db5d33..6d3a619bd 100644 --- a/tests/unit/dialog/options.js +++ b/tests/unit/dialog/options.js @@ -165,7 +165,7 @@ test( "buttons - advanced", function( assert ) { buttons = element.dialog( "widget" ).find( ".ui-dialog-buttonpane button" ); equal( buttons.length, 1, "correct number of buttons" ); equal( buttons.attr( "id" ), "my-button-id", "correct id" ); - equal( buttons.text().trim(), "a button", "correct label" ); + equal( $.trim( buttons.text() ), "a button", "correct label" ); assert.hasClasses( buttons, "additional-class" ); deepEqual( buttons.button( "option", "icon" ), "ui-icon-cancel" ); equal( buttons.button( "option", "showLabel" ), false ); @@ -209,17 +209,17 @@ test( "closeText", function() { expect( 3 ); var element = $( "
" ).dialog(); - equal( element.dialog( "widget" ).find( ".ui-dialog-titlebar-close" ).text().trim(), "Close", + equal( $.trim( element.dialog( "widget" ).find( ".ui-dialog-titlebar-close" ).text() ), "Close", "default close text" ); element.remove(); element = $( "
" ).dialog( { closeText: "foo" } ); - equal( element.dialog( "widget" ).find( ".ui-dialog-titlebar-close" ).text().trim(), "foo", + equal( $.trim( element.dialog( "widget" ).find( ".ui-dialog-titlebar-close" ).text() ), "foo", "closeText on init" ); element.remove(); element = $( "
" ).dialog().dialog( "option", "closeText", "bar" ); - equal( element.dialog( "widget" ).find( ".ui-dialog-titlebar-close" ).text().trim(), "bar", + equal( $.trim( element.dialog( "widget" ).find( ".ui-dialog-titlebar-close" ).text() ), "bar", "closeText via option method" ); element.remove(); } ); diff --git a/tests/unit/selectmenu/core.js b/tests/unit/selectmenu/core.js index a6024fb9a..689668e70 100644 --- a/tests/unit/selectmenu/core.js +++ b/tests/unit/selectmenu/core.js @@ -89,8 +89,8 @@ test( "_renderButtonItem()", function() { element.selectmenu( "refresh" ); option = element.find( "option:selected" ); equal( - " " + option.text() + element[ 0 ].selectedIndex, - button.text(), + $.trim( button.text() ), + option.text() + element[ 0 ].selectedIndex, "refresh: button item text" ); @@ -98,8 +98,8 @@ test( "_renderButtonItem()", function() { menu.find( "li" ).last().simulate( "mouseover" ).trigger( "click" ); option = element.find( "option" ).last(); equal( - " " + option.text() + element[ 0 ].selectedIndex, - button.text(), + $.trim( button.text() ), + option.text() + element[ 0 ].selectedIndex, "click: button item text" ); } ); @@ -146,7 +146,7 @@ $.each( [ selected.val(), "original select state" ); - equal( button.text(), " " + selected.text(), "button text" ); + equal( $.trim( button.text() ), selected.text(), "button text" ); start(); } ); } ); @@ -181,7 +181,7 @@ $.each( [ selected.val(), "original select state" ); - equal( button.text(), " " + selected.text(), "button text" ); + equal( $.trim( button.text() ), selected.text(), "button text" ); start(); }, 1 ); } ); @@ -222,7 +222,7 @@ $.each( [ "button aria-activedescendant" ); equal( element.find( "option:selected" ).val(), options.eq( 1 ).val(), "original select state" ); - equal( button.text(), " " + options.eq( 1 ).text(), "button text" ); + equal( $.trim( button.text() ), options.eq( 1 ).text(), "button text" ); start(); } ); } ); diff --git a/tests/unit/selectmenu/methods.js b/tests/unit/selectmenu/methods.js index 7007abe83..e8f2d2d37 100644 --- a/tests/unit/selectmenu/methods.js +++ b/tests/unit/selectmenu/methods.js @@ -81,21 +81,21 @@ asyncTest( "refresh - change selected option", function() { var element = $( "#speed" ).selectmenu(), button = element.selectmenu( "widget" ); - equal( button.text(), " Medium", "button text after init" ); + equal( $.trim( button.text() ), "Medium", "button text after init" ); button.simulate( "focus" ); setTimeout( function() { - equal( button.text(), " Medium", "button text after focus" ); + equal( $.trim( button.text() ), "Medium", "button text after focus" ); element[ 0 ].selectedIndex = 0; element.selectmenu( "refresh" ); - equal( button.text(), " Slower", "button text after changing selected option" ); + equal( $.trim( button.text() ), "Slower", "button text after changing selected option" ); element.find( "option" ).prop( "selected", false ); element.append( "" ); element.selectmenu( "refresh" ); - equal( button.text(), " Selected option", "button text after adding selected option" ); + equal( $.trim( button.text() ), "Selected option", "button text after adding selected option" ); start(); } ); -- cgit v1.2.3 From 39853fda45a409e9dc47d7358fbd9b03ad1d33b5 Mon Sep 17 00:00:00 2001 From: Jörn Zaefferer Date: Mon, 26 Oct 2015 13:13:42 -0400 Subject: Selectmenu: Handle form resets Fixes #12236 Ref gh-1550 --- tests/unit/selectmenu/core.js | 18 ++++++++++++++++++ tests/unit/selectmenu/selectmenu.html | 4 ++-- ui/widgets/selectmenu.js | 7 +++++-- 3 files changed, 25 insertions(+), 4 deletions(-) (limited to 'tests/unit/selectmenu/core.js') diff --git a/tests/unit/selectmenu/core.js b/tests/unit/selectmenu/core.js index 689668e70..1c1a6b622 100644 --- a/tests/unit/selectmenu/core.js +++ b/tests/unit/selectmenu/core.js @@ -329,4 +329,22 @@ $.each( [ } ); } ); + asyncTest( "Selectmenu should reset when its parent form resets", function() { + expect( 2 ); + + var element = $( "#speed" ).selectmenu(), + widget = element.selectmenu( "widget" ), + initialValue = element.val(), + form = element.closest( "form" ); + + element.val( "Slower" ); + element.selectmenu( "refresh" ); + equal( $.trim( widget.text() ), "Slower" ); + form[ 0 ].reset(); + setTimeout( function() { + equal( $.trim( widget.text() ), initialValue ); + start(); + } ); + } ); + } ); diff --git a/tests/unit/selectmenu/selectmenu.html b/tests/unit/selectmenu/selectmenu.html index 1df6e3ebc..be8b826c8 100644 --- a/tests/unit/selectmenu/selectmenu.html +++ b/tests/unit/selectmenu/selectmenu.html @@ -13,7 +13,7 @@
-
+
-
+ ", options: { @@ -76,6 +77,7 @@ return $.widget( "ui.selectmenu", { this._drawButton(); this._drawMenu(); + this._bindFormResetHandler(); this._rendered = false; this.menuItems = $(); @@ -675,12 +677,13 @@ return $.widget( "ui.selectmenu", { }, _destroy: function() { + this._unbindFormResetHandler(); this.menuWrap.remove(); this.button.remove(); this.element.show(); this.element.removeUniqueId(); this.labels.attr( "for", this.ids.element ); } -} ); +} ] ); } ) ); -- cgit v1.2.3