From 257067c81baac222cbd64222b2d100da32c90fbd Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Tue, 27 Sep 2011 21:46:29 +0200 Subject: Selectmenu: improved disable method, added and improved demo files --- tests/visual/selectmenu/disabled.html | 136 ++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 tests/visual/selectmenu/disabled.html (limited to 'tests') diff --git a/tests/visual/selectmenu/disabled.html b/tests/visual/selectmenu/disabled.html new file mode 100644 index 000000000..baf0dcf46 --- /dev/null +++ b/tests/visual/selectmenu/disabled.html @@ -0,0 +1,136 @@ + + + + + jQuery UI Selectmenu - Default functionality + + + + + + + + + + + + + + +
+ +
+
+ + +
+
+
+ + +
+
+
+ + +
+
+
+ + +
+ + + +
+
+ +
+ + + + + -- cgit v1.2.3 From 9c43d64312f47aba82596495796eed25b04c6656 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Tue, 27 Sep 2011 22:04:49 +0200 Subject: Selectmenu: improved events and added test file with callbacks --- tests/visual/selectmenu/disabled.html | 2 +- tests/visual/selectmenu/events.html | 72 +++++++++++++++++++++++++++++++++++ ui/jquery.ui.selectmenu.js | 32 +++++++++------- 3 files changed, 91 insertions(+), 15 deletions(-) create mode 100644 tests/visual/selectmenu/events.html (limited to 'tests') diff --git a/tests/visual/selectmenu/disabled.html b/tests/visual/selectmenu/disabled.html index baf0dcf46..cf979a9ee 100644 --- a/tests/visual/selectmenu/disabled.html +++ b/tests/visual/selectmenu/disabled.html @@ -2,7 +2,7 @@ - jQuery UI Selectmenu - Default functionality + jQuery UI Selectmenu - Disable functionality diff --git a/tests/visual/selectmenu/events.html b/tests/visual/selectmenu/events.html new file mode 100644 index 000000000..0d5e3ee67 --- /dev/null +++ b/tests/visual/selectmenu/events.html @@ -0,0 +1,72 @@ + + + + + jQuery UI Selectmenu - Event functionality + + + + + + + + + + + + + + +
+ + +
+ Log: +
+
+ +
+
+ + + + +
+ + + + + diff --git a/ui/jquery.ui.selectmenu.js b/ui/jquery.ui.selectmenu.js index 6d54fa248..38688b845 100644 --- a/ui/jquery.ui.selectmenu.js +++ b/ui/jquery.ui.selectmenu.js @@ -189,9 +189,9 @@ $.widget( "ui.selectmenu", { item.element = self.items[ item.index ]; self._trigger( "select", event, { item: item } ); - self.close( event, true); - if ( flag ) self._trigger( "change", event, { item: item } ); + + self.close( event, true); }, focus: function( event, ui ) { self._trigger( "focus", event, { item: ui.item.data( "item.selectmenu" ) } ); @@ -269,19 +269,21 @@ $.widget( "ui.selectmenu", { close: function( event, focus ) { var self = this, options = this.options; - - if ( options.dropdown ) { - self.newelement - .addClass( 'ui-corner-all' ) - .removeClass( 'ui-corner-top' ); + + if ( self.opened ) { + if ( options.dropdown ) { + self.newelement + .addClass( 'ui-corner-all' ) + .removeClass( 'ui-corner-top' ); + } + + self.listWrap.removeClass( self.widgetBaseClass + '-open' ); + this.opened = false; + + if (focus) self.newelement.focus(); + + self._trigger( "close", event ); } - - self.listWrap.removeClass( self.widgetBaseClass + '-open' ); - this.opened = false; - - if (focus) self.newelement.focus(); - - self._trigger( "close", event ); }, _renderMenu: function( ul, items ) { @@ -314,6 +316,8 @@ $.widget( "ui.selectmenu", { }, _move: function( key, event ) { + // TODO this focus is needed to make the select below work, + // but should be removed as its fires an unwanted focus event if ( !this.opened ) { this.list.menu( "focus", event, this._getSelectedItem() ); } -- cgit v1.2.3 From 4d56732195a9dd2e5e919b1a537a2f73dffa5c41 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Tue, 27 Sep 2011 23:15:23 +0200 Subject: Selectmenu: improved value option, added demo file --- tests/visual/selectmenu/disabled.html | 8 ++--- tests/visual/selectmenu/option.html | 62 +++++++++++++++++++++++++++++++++++ ui/jquery.ui.selectmenu.js | 28 ++++++++-------- 3 files changed, 81 insertions(+), 17 deletions(-) create mode 100644 tests/visual/selectmenu/option.html (limited to 'tests') diff --git a/tests/visual/selectmenu/disabled.html b/tests/visual/selectmenu/disabled.html index cf979a9ee..b096f95dd 100644 --- a/tests/visual/selectmenu/disabled.html +++ b/tests/visual/selectmenu/disabled.html @@ -121,12 +121,12 @@ -
- - - +
+ + + diff --git a/tests/visual/selectmenu/option.html b/tests/visual/selectmenu/option.html new file mode 100644 index 000000000..1f70d0e56 --- /dev/null +++ b/tests/visual/selectmenu/option.html @@ -0,0 +1,62 @@ + + + + + jQuery UI Selectmenu - Event functionality + + + + + + + + + + + + + + +
+ +
+
+ + +
+
+
+ + + +
+ + + + + diff --git a/ui/jquery.ui.selectmenu.js b/ui/jquery.ui.selectmenu.js index 38688b845..3f56f45fe 100644 --- a/ui/jquery.ui.selectmenu.js +++ b/ui/jquery.ui.selectmenu.js @@ -49,12 +49,15 @@ $.widget( "ui.selectmenu", { // quick array of button and menu id's self.ids = [ selectmenuId + '-button', selectmenuId + '-menu' ]; - // get options + // save options self.items = self.element.find( 'option' ); - // set options - options.value = self.element[0].value; - options.disabled = ( self.element.attr( 'disabled' ) ) ? true : false; + // set current value + if ( options.value ) { + self.element[0].value = options.value; + } else { + options.value = self.element[0].value; + } // catch click event of the label self.element.bind( 'click.selectmenu', function() { @@ -82,7 +85,8 @@ $.widget( "ui.selectmenu", { primary: ( options.dropdown ? 'ui-icon-triangle-1-s' : 'ui-icon-triangle-2-n-s' ) } }); - + + // wrap and insert new button self.newelementWrap = $( options.wrapperElement ) .append( self.newelement ) .insertAfter( self.element ); @@ -167,6 +171,7 @@ $.widget( "ui.selectmenu", { id: self.ids[1] }); + // wrap list self.listWrap = $( options.wrapperElement ) .addClass( self.widgetBaseClass + '-menu' ) .css( "width", ( options.dropdown ) ? self.element.width() : self.element.width() - options.iconWidth ) @@ -176,6 +181,7 @@ $.widget( "ui.selectmenu", { self._initSource(); self._renderMenu( self.list, options.source ); + // init menu widget self.list .data( 'element.selectelemenu', self.element ) .menu({ @@ -185,7 +191,7 @@ $.widget( "ui.selectmenu", { if ( item.index != self.element[0].selectedIndex ) flag = true; - self._setSelected( event, item ); + self._setOption( "value", item.value ); item.element = self.items[ item.index ]; self._trigger( "select", event, { item: item } ); @@ -331,12 +337,6 @@ $.widget( "ui.selectmenu", { return this.list.find( "li" ).not( '.ui-selectmenu-optgroup' ).eq( this.element[0].selectedIndex ); }, - _setSelected: function( event, item ) { - this.newelement.children( '.ui-button-text' ).text( item.label ); - this.element[0].selectedIndex = item.index; - this.options.value = item.value; - }, - _toggle: function( event ) { if ( this.opened ) { this.close( event ); @@ -347,11 +347,13 @@ $.widget( "ui.selectmenu", { _setOption: function( key, value ) { this._super( "_setOption", key, value ); + if ( key === "appendTo" ) { this.listWrap.appendTo( $( value || "body", this.element[0].ownerDocument )[0] ); } - if ( key === "value" && value) { + if ( key === "value" && value !== undefined ) { this.element[0].value = value; + this.newelement.children( '.ui-button-text' ).text( this.items.eq( this.element[0].selectedIndex ).text() ); } if ( key === "disabled" ) { this.newelement.button( "option", "disabled", value ); -- cgit v1.2.3 From 40393353bb5866cb4bf3ae4069066dfb76596e7c Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Fri, 30 Sep 2011 21:17:46 +0200 Subject: Selectmenu: improved events.html demo --- tests/visual/selectmenu/events.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'tests') diff --git a/tests/visual/selectmenu/events.html b/tests/visual/selectmenu/events.html index 0d5e3ee67..8c4da5fb1 100644 --- a/tests/visual/selectmenu/events.html +++ b/tests/visual/selectmenu/events.html @@ -24,13 +24,13 @@ $("
").text( index++ + " Closed").prependTo(log); }, focus : function(event, ui) { - $("
").text( index++ + " Focused: " + ui.item.label).prependTo(log); + $("
").text( index++ + " Focused: " + ui.item.label + " #" + ui.item.index ).prependTo(log); }, select: function(event, ui) { - $("
").text( index++ + " Selected: " + ui.item.label).prependTo(log); + $("
").text( index++ + " Selected: " + ui.item.label + " #" + ui.item.index ).prependTo(log); }, change: function(event, ui) { - $("
").text( index++ + " Changed to: " + ui.item.label).prependTo(log); + $("
").text( index++ + " Changed to: " + ui.item.label + " #" + ui.item.index ).prependTo(log); } }); }); -- cgit v1.2.3 From a9aef0974b7fca878e4a88d8a2e1beacc940eae5 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Fri, 30 Sep 2011 21:51:37 +0200 Subject: Selectmenu: removed option wrapperElement --- demos/selectmenu/default.html | 8 +++++--- tests/visual/selectmenu/disabled.html | 6 +++--- ui/jquery.ui.selectmenu.js | 15 +++++++++------ 3 files changed, 17 insertions(+), 12 deletions(-) (limited to 'tests') diff --git a/demos/selectmenu/default.html b/demos/selectmenu/default.html index eecc25d12..8e481ea63 100644 --- a/demos/selectmenu/default.html +++ b/demos/selectmenu/default.html @@ -17,11 +17,13 @@ $('select#speed').selectmenu({ dropdown: false }); - $('select#number').selectmenu({ - dropdown: false, - wrapperElement: '
' + var withOverflow = $('select#number').selectmenu({ + dropdown: false }); + withOverflow.selectmenu("widget").addClass("overflow"); + $('select#files').selectmenu(); + }); diff --git a/tests/visual/selectmenu/disabled.html b/tests/visual/selectmenu/disabled.html index a76cc7001..b7861f6c8 100644 --- a/tests/visual/selectmenu/disabled.html +++ b/tests/visual/selectmenu/disabled.html @@ -50,6 +50,7 @@ diff --git a/tests/visual/selectmenu/events.html b/tests/visual/selectmenu/events.html index 02c58db3c..7c7d0ac57 100644 --- a/tests/visual/selectmenu/events.html +++ b/tests/visual/selectmenu/events.html @@ -38,6 +38,7 @@ diff --git a/tests/visual/selectmenu/option.html b/tests/visual/selectmenu/option.html index 1f70d0e56..fe04c89fa 100644 --- a/tests/visual/selectmenu/option.html +++ b/tests/visual/selectmenu/option.html @@ -30,6 +30,7 @@ diff --git a/ui/jquery.ui.selectmenu.js b/ui/jquery.ui.selectmenu.js index 50f1264e5..6bdfd95ae 100644 --- a/ui/jquery.ui.selectmenu.js +++ b/ui/jquery.ui.selectmenu.js @@ -109,7 +109,7 @@ $.widget( "ui.selectmenu", { }); // wrap and insert new button - that.newelementWrap = $( '
' ) + that.newelementWrap = $( '' ) .append( that.newelement ) .insertAfter( that.element ); }, -- cgit v1.2.3 From f70a24790c8bb626048052315ae5c6e0b485d064 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Sun, 9 Oct 2011 02:00:52 +0200 Subject: Selectmenu: fixed disabled.html demo --- tests/visual/selectmenu/disabled.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'tests') diff --git a/tests/visual/selectmenu/disabled.html b/tests/visual/selectmenu/disabled.html index b7861f6c8..0e98e014e 100644 --- a/tests/visual/selectmenu/disabled.html +++ b/tests/visual/selectmenu/disabled.html @@ -39,10 +39,10 @@ }); $("#disable_optgroup").toggle( function() { files2.find("optgroup:eq(0)").attr("disabled", "disabled"); - //files2.selectmenu("refresh"); + files2.selectmenu("refresh"); }, function() { - files2.find("option:eq(0)").removeAttr("disabled"); - //files2.selectmenu("refresh"); + files2.find("optgroup:eq(0)").removeAttr("disabled"); + files2.selectmenu("refresh"); }); }); -- cgit v1.2.3 From 2be6e70bba4cd3cf9a913372c97f44b91b2634e6 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Mon, 10 Oct 2011 20:09:03 +0200 Subject: Selectmenu: added test for methods --- tests/visual/selectmenu/methods.html | 62 ++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 tests/visual/selectmenu/methods.html (limited to 'tests') diff --git a/tests/visual/selectmenu/methods.html b/tests/visual/selectmenu/methods.html new file mode 100644 index 000000000..e004f40a1 --- /dev/null +++ b/tests/visual/selectmenu/methods.html @@ -0,0 +1,62 @@ + + + + + jQuery UI Selectmenu - Event functionality + + + + + + + + + + + + + + +
+ +
+
+ + +
+
+
+ + + +
+ + + + + -- cgit v1.2.3 From 404f4c1263de2f951250f28d0463002d6f017c65 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Mon, 17 Oct 2011 22:06:07 +0200 Subject: Selectmenu: added open and close method demo --- tests/visual/selectmenu/methods.html | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'tests') diff --git a/tests/visual/selectmenu/methods.html b/tests/visual/selectmenu/methods.html index e004f40a1..5611b49ea 100644 --- a/tests/visual/selectmenu/methods.html +++ b/tests/visual/selectmenu/methods.html @@ -24,6 +24,16 @@ mySelectmenu.append(''); mySelectmenu.selectmenu("refresh"); }); + + $("#open").click( function() { + mySelectmenu.selectmenu("open"); + return false; + }); + + $("#close").click( function() { + mySelectmenu.selectmenu("close"); + return false; + }); }); + + + +
+ + +
+
+ + +
+
+ +
+
+
+
+
+
+
+
+
+ +
+ + +
+ +
+ + + + + diff --git a/tests/visual/selectmenu/dialog.html b/tests/visual/selectmenu/dialog.html new file mode 100644 index 000000000..52a9cfaa5 --- /dev/null +++ b/tests/visual/selectmenu/dialog.html @@ -0,0 +1,72 @@ + + + + + jQuery UI Selectmenu - Event functionality + + + + + + + + + + + + + + + +
+ + +
+

Some example content

+

Test Link

+
+
+ + +
+
+
+ + +
+

Sed vel diam id libero rutrum convallis. Donec aliquet leo vel magna. Phasellus rhoncus faucibus ante. Etiam bibendum, enim faucibus aliquet rhoncus, arcu felis ultricies neque, sit amet auctor elit eros a lectus.

+
+
+ checkbox
+ radio
+

+
+
+
+ + +
+ + + + + diff --git a/tests/visual/selectmenu/tabs.html b/tests/visual/selectmenu/tabs.html new file mode 100644 index 000000000..ce36a04fe --- /dev/null +++ b/tests/visual/selectmenu/tabs.html @@ -0,0 +1,68 @@ + + + + + jQuery UI Selectmenu - Event functionality + + + + + + + + + + + + + + + +
+ + +
+ +
+

Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.

+
+
+
+
+ + +
+
+
+
+

Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.

+

Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.

+
+
+ +
+ + + + + -- cgit v1.2.3 From ce3e7c011037c4420d68e6f810d2c551ab84d929 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Wed, 2 Nov 2011 20:14:19 +0100 Subject: Selectmenu: fixed initial unit test by adding create callback to selectmenu_defaults.js --- tests/unit/selectmenu/selectmenu_defaults.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_defaults.js b/tests/unit/selectmenu/selectmenu_defaults.js index 9d54a8a55..a0f4f985e 100644 --- a/tests/unit/selectmenu/selectmenu_defaults.js +++ b/tests/unit/selectmenu/selectmenu_defaults.js @@ -9,7 +9,8 @@ commonWidgetTests( "selectmenu", { collision: "none" }, value: null, - // callbacks + // callbacks, + create: null, open: null, focus: null, select: null, -- cgit v1.2.3 From 26603de5bafb4fe9e824b28d8f799ed0f7e0604f Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Wed, 2 Nov 2011 21:56:37 +0100 Subject: Selectmenu: added basic markup and a11y unit tests --- tests/unit/selectmenu/selectmenu.html | 8 +++---- tests/unit/selectmenu/selectmenu_core.js | 38 ++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu.html b/tests/unit/selectmenu/selectmenu.html index 836f911fc..761b916ee 100644 --- a/tests/unit/selectmenu/selectmenu.html +++ b/tests/unit/selectmenu/selectmenu.html @@ -4,12 +4,12 @@ jQuery UI Selectmenu Test Suite - + + + + - - - diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 0d6b8951a..92b29882e 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -3,4 +3,42 @@ module( "selectmenu: core" ); +test("markup structure", function () { + expect(5); + var element = $('#speed').selectmenu(); + var widget = element.selectmenu("widget"); + var button = widget.filter(".ui-selectmenu-button"); + var menu = widget.filter(".ui-selectmenu-menu"); + + equals( button.length, 1, "button wrapper found"); + equals( button.children("a").length, 1, "button link found"); + + equals( menu.length, 1, "menu wrapper found"); + equals( menu.children("ul").length, 1, "menu found"); + + equals( menu.find("ul li.ui-menu-item").length, element.find("option").length, "menu li's found"); +}); + +test("accessibility", function () { + var element = $('#speed').selectmenu(); + var widget = element.selectmenu("widget"); + var button = widget.filter(".ui-selectmenu-button"); + var menu = widget.filter(".ui-selectmenu-menu"); + var link = button.children("a"); + var ul = menu.children("ul") + var links = ul.find("li.ui-menu-item a"); + expect(6 + links.length); + + equals( button.attr("aria-disabled"), "false", "button aria-disabled"); + equals( link.attr("aria-disabled"), "false", "button link aria-disabled"); + equals( link.attr("aria-haspopup"), "true", "button link aria-haspopup"); + equals( link.attr("role"), "button", "button link role"); + equals( link.attr("aria-owns"), ul.attr("id"), "button link aria-owns"); + equals( link.attr("tabindex"), 0, "button link tabindex"); + + $.each( links, function(index){ + equals( $(this).attr("role"), "option", "menu link #" + index +" role"); + }); +}); + })( jQuery ); -- cgit v1.2.3 From 80ba251a9be532eb9de33aa8540c9238928c0d69 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Mon, 21 Nov 2011 21:06:20 +0100 Subject: Selectmenu: remove markup unit test --- tests/unit/selectmenu/selectmenu_core.js | 17 ----------------- 1 file changed, 17 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 92b29882e..6ca076095 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -2,23 +2,6 @@ module( "selectmenu: core" ); - -test("markup structure", function () { - expect(5); - var element = $('#speed').selectmenu(); - var widget = element.selectmenu("widget"); - var button = widget.filter(".ui-selectmenu-button"); - var menu = widget.filter(".ui-selectmenu-menu"); - - equals( button.length, 1, "button wrapper found"); - equals( button.children("a").length, 1, "button link found"); - - equals( menu.length, 1, "menu wrapper found"); - equals( menu.children("ul").length, 1, "menu found"); - - equals( menu.find("ul li.ui-menu-item").length, element.find("option").length, "menu li's found"); -}); - test("accessibility", function () { var element = $('#speed').selectmenu(); var widget = element.selectmenu("widget"); -- cgit v1.2.3 From 0d064bba4e1de726fe02b64febb58231ab771a98 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Mon, 21 Nov 2011 21:43:01 +0100 Subject: Selectmenu: fixed jQuery version --- demos/selectmenu/custom_render.html | 2 +- demos/selectmenu/default.html | 2 +- tests/visual/selectmenu/autocomplete.html | 2 +- tests/visual/selectmenu/dialog.html | 2 +- tests/visual/selectmenu/disabled.html | 2 +- tests/visual/selectmenu/events.html | 2 +- tests/visual/selectmenu/methods.html | 2 +- tests/visual/selectmenu/option.html | 2 +- tests/visual/selectmenu/tabs.html | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) (limited to 'tests') diff --git a/demos/selectmenu/custom_render.html b/demos/selectmenu/custom_render.html index c2620c3db..f993bab2a 100644 --- a/demos/selectmenu/custom_render.html +++ b/demos/selectmenu/custom_render.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Default functionality - + diff --git a/demos/selectmenu/default.html b/demos/selectmenu/default.html index 1d159205d..5ae45472a 100644 --- a/demos/selectmenu/default.html +++ b/demos/selectmenu/default.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Default functionality - + diff --git a/tests/visual/selectmenu/autocomplete.html b/tests/visual/selectmenu/autocomplete.html index 609f5d88f..ad7b80640 100644 --- a/tests/visual/selectmenu/autocomplete.html +++ b/tests/visual/selectmenu/autocomplete.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Event functionality - + diff --git a/tests/visual/selectmenu/dialog.html b/tests/visual/selectmenu/dialog.html index 52a9cfaa5..e8aac5f67 100644 --- a/tests/visual/selectmenu/dialog.html +++ b/tests/visual/selectmenu/dialog.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Event functionality - + diff --git a/tests/visual/selectmenu/disabled.html b/tests/visual/selectmenu/disabled.html index 0e98e014e..508cb7bf9 100644 --- a/tests/visual/selectmenu/disabled.html +++ b/tests/visual/selectmenu/disabled.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Disable functionality - + diff --git a/tests/visual/selectmenu/events.html b/tests/visual/selectmenu/events.html index 7c7d0ac57..021dfcb48 100644 --- a/tests/visual/selectmenu/events.html +++ b/tests/visual/selectmenu/events.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Event functionality - + diff --git a/tests/visual/selectmenu/methods.html b/tests/visual/selectmenu/methods.html index 5611b49ea..1cb527444 100644 --- a/tests/visual/selectmenu/methods.html +++ b/tests/visual/selectmenu/methods.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Event functionality - + diff --git a/tests/visual/selectmenu/option.html b/tests/visual/selectmenu/option.html index fe04c89fa..33dd381c3 100644 --- a/tests/visual/selectmenu/option.html +++ b/tests/visual/selectmenu/option.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Event functionality - + diff --git a/tests/visual/selectmenu/tabs.html b/tests/visual/selectmenu/tabs.html index ce36a04fe..da1221c7a 100644 --- a/tests/visual/selectmenu/tabs.html +++ b/tests/visual/selectmenu/tabs.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Event functionality - + -- cgit v1.2.3 From 74b8a504bcddd35972f1a32ebdb7fd3fd47d1924 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Mon, 21 Nov 2011 21:54:04 +0100 Subject: Selectmenu: added state synchronization unit test --- tests/unit/selectmenu/selectmenu_core.js | 48 +++++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 7 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 6ca076095..19ab15f0d 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -12,15 +12,49 @@ test("accessibility", function () { var links = ul.find("li.ui-menu-item a"); expect(6 + links.length); - equals( button.attr("aria-disabled"), "false", "button aria-disabled"); - equals( link.attr("aria-disabled"), "false", "button link aria-disabled"); - equals( link.attr("aria-haspopup"), "true", "button link aria-haspopup"); - equals( link.attr("role"), "button", "button link role"); - equals( link.attr("aria-owns"), ul.attr("id"), "button link aria-owns"); - equals( link.attr("tabindex"), 0, "button link tabindex"); + equals( button.attr("aria-disabled"), "false", "button aria-disabled" ); + equals( link.attr("aria-disabled"), "false", "button link aria-disabled" ); + equals( link.attr("aria-haspopup"), "true", "button link aria-haspopup" ); + equals( link.attr("role"), "button", "button link role" ); + equals( link.attr("aria-owns"), ul.attr("id"), "button link aria-owns" ); + equals( link.attr("tabindex"), 0, "button link tabindex" ); $.each( links, function(index){ - equals( $(this).attr("role"), "option", "menu link #" + index +" role"); + equals( $(this).attr("role"), "option", "menu link #" + index +" role" ); + }); +}); + + +$.each([ + { + type: "default", + selector: "#speed", + valueMethod: "val" + }, + { + type: "optgroups", + selector: "#files", + valueMethod: "text" + } +], function( i, settings ) { + test("state synchronization - " + settings.type, function () { + expect(6); + var element = $(settings.selector).selectmenu(); + var widget = element.selectmenu("widget"); + var button = widget.filter(".ui-selectmenu-button"); + var menu = widget.filter(".ui-selectmenu-menu"); + + equals( element[0].value, element.selectmenu("option", "value"), "inital value" ); + equals( element.find("option:selected").text(), button.text(), "inital button text" ); + + button.find("a").simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); + equals( element[0].value, element.selectmenu("option", "value"), "after keydown value" ); + equals( element.find("option:selected").text(), button.text(), "after keydown button text" ); + + button.find("a").simulate( "click" ); + menu.find("a").last().simulate( "click" ); + equals( element[0].value, element.selectmenu("option", "value"), "after click value" ); + equals( element.find("option:selected").text(), button.text(), "after click button text" ); }); }); -- cgit v1.2.3 From d97b6db2cdcc2adf88381c3d7a7d733ea51fab71 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Tue, 22 Nov 2011 00:35:27 +0100 Subject: Selectmenu: added basic method unit tests --- tests/unit/selectmenu/selectmenu.html | 29 ++++++++++++-- tests/unit/selectmenu/selectmenu_core.js | 6 +-- tests/unit/selectmenu/selectmenu_methods.js | 61 +++++++++++++++++++++++++++++ 3 files changed, 89 insertions(+), 7 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu.html b/tests/unit/selectmenu/selectmenu.html index 761b916ee..c64b364fa 100644 --- a/tests/unit/selectmenu/selectmenu.html +++ b/tests/unit/selectmenu/selectmenu.html @@ -37,7 +37,7 @@

    - + - + + + + - - - - - - - - - -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    - - -
    - -
    - - - - - diff --git a/tests/visual/selectmenu/compatibility .html b/tests/visual/selectmenu/compatibility .html new file mode 100644 index 000000000..a99a629df --- /dev/null +++ b/tests/visual/selectmenu/compatibility .html @@ -0,0 +1,121 @@ + + + + + jQuery UI Selectmenu - Compatibility with other widgets + + + + + + + + + + + + + + + + + +
    + +
    + + +
    + +
    + +
    +

    Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.

    +
    +
    +
    +
    + + +
    +
    +
    +
    +

    Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.

    +

    Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.

    +
    +
    + +
    +

    Some example content

    +

    Test Link

    +
    +
    + + +
    +
    +
    + +
    + + + + + diff --git a/tests/visual/selectmenu/dialog.html b/tests/visual/selectmenu/dialog.html deleted file mode 100644 index f80083933..000000000 --- a/tests/visual/selectmenu/dialog.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - jQuery UI Selectmenu - Event functionality - - - - - - - - - - - - - - - -
    - - -
    -

    Some example content

    -

    Test Link

    -
    -
    - - -
    -
    -
    - - -
    -

    Sed vel diam id libero rutrum convallis. Donec aliquet leo vel magna. Phasellus rhoncus faucibus ante. Etiam bibendum, enim faucibus aliquet rhoncus, arcu felis ultricies neque, sit amet auctor elit eros a lectus.

    -
    -
    - checkbox
    - radio
    -

    -
    -
    -
    - - -
    - - - - - diff --git a/tests/visual/selectmenu/events.html b/tests/visual/selectmenu/events.html index e17434add..7371e1373 100644 --- a/tests/visual/selectmenu/events.html +++ b/tests/visual/selectmenu/events.html @@ -2,7 +2,7 @@ - jQuery UI Selectmenu - Event functionality + jQuery UI Selectmenu - Events functionality diff --git a/tests/visual/selectmenu/methods.html b/tests/visual/selectmenu/methods.html index 5476dfff8..b3e5a42e5 100644 --- a/tests/visual/selectmenu/methods.html +++ b/tests/visual/selectmenu/methods.html @@ -2,7 +2,7 @@ - jQuery UI Selectmenu - Event functionality + jQuery UI Selectmenu - Methids functionality diff --git a/tests/visual/selectmenu/option.html b/tests/visual/selectmenu/option.html index fef35ab9f..308a9ebc2 100644 --- a/tests/visual/selectmenu/option.html +++ b/tests/visual/selectmenu/option.html @@ -2,7 +2,7 @@ - jQuery UI Selectmenu - Event functionality + jQuery UI Selectmenu - Option functionality diff --git a/tests/visual/selectmenu/tabs.html b/tests/visual/selectmenu/tabs.html deleted file mode 100644 index 658da8a20..000000000 --- a/tests/visual/selectmenu/tabs.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - jQuery UI Selectmenu - Event functionality - - - - - - - - - - - - - - - -
    - - -
    - -
    -

    Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.

    -
    -
    -
    -
    - - -
    -
    -
    -
    -

    Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.

    -

    Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.

    -
    -
    - -
    - - - - - -- cgit v1.2.3 From c00b685cb824fe940226be041067b0b9c44ba983 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 1 Dec 2011 20:31:52 +0100 Subject: Selectmenu: added visual test for themeswitcher --- tests/visual/selectmenu/themeswitcher.html | 104 +++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 tests/visual/selectmenu/themeswitcher.html (limited to 'tests') diff --git a/tests/visual/selectmenu/themeswitcher.html b/tests/visual/selectmenu/themeswitcher.html new file mode 100644 index 000000000..c533fc4ae --- /dev/null +++ b/tests/visual/selectmenu/themeswitcher.html @@ -0,0 +1,104 @@ + + + + + jQuery UI Selectmenu - Themeswitcher functionality + + + + + + + + + + + + + + +
    + +
    +
    + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    + +
    + + + + + + + -- cgit v1.2.3 From c1c0827c67de6d52936d7b1906051ab7be95827b Mon Sep 17 00:00:00 2001 From: Dan Wellman Date: Mon, 12 Dec 2011 23:39:06 +0000 Subject: Selectmenu: updated options and events unit tests --- tests/unit/selectmenu/selectmenu_events.js | 8 ++++---- tests/unit/selectmenu/selectmenu_options.js | 23 +++++++++++++++++++---- 2 files changed, 23 insertions(+), 8 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index ec4d3ff25..98171298b 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -14,16 +14,16 @@ ok(event, "change event fired on change"); equals(event.type, "selectmenuchange", "event type set to selectmenuchange"); ok(ui, "ui object is passed as second argument to event handler"); - equals(ui.item.element[0].nodeName, "OPTION", "ui points to original option element"); + equals(ui.item.element[0].nodeName, "OPTION", "ui.item.element[0] points to original option element"); + equals(ui.item.value, value, "ui.item.value property updated correctly"); } }); var widget = this.element.selectmenu("widget"), - menu = widget.filter(".ui-selectmenu-menu"); + menu = widget.filter(".ui-selectmenu-menu"), + value = this.element.find("option").eq(0).text(); menu.find(".ui-menu-item").eq(0).simulate("click"); - - equals(this.element.selectmenu("option", "value"), "Slower", "should be set to first option"); }); test("close", function () { diff --git a/tests/unit/selectmenu/selectmenu_options.js b/tests/unit/selectmenu/selectmenu_options.js index e6a057ac0..913d1b4c9 100644 --- a/tests/unit/selectmenu/selectmenu_options.js +++ b/tests/unit/selectmenu/selectmenu_options.js @@ -14,8 +14,21 @@ ok($("#qunit-fixture").find(".ui-selectmenu-menu").length, "selectmenu appendedTo other element"); }); - test("dropdown false", function () { - expect(1); + test("dropdown", function () { + expect(2); + + var button = $("#speed-button"), + widget = this.element.selectmenu("widget"), + buttonPos = { + l: button.offset().top, + t: button.offset().left + }, + menuPos = { + l: widget.offset().top, + t: widget.offset().left + }; + + equals(menuPos.t, buttonPos.t, "menu positioned below button in dropdown mode"); //button has no height ok(this.element.selectmenu("option", "dropdown", false), "accepts false"); }); @@ -23,9 +36,11 @@ test("value option", function () { expect(1); - this.element.selectmenu("option", "value", "jQuery UI"); + var value = this.element.find("option").eq(0).text(); + + this.element.selectmenu("option", "value", value); - equals(this.element.selectmenu("option", "value"), "jQuery UI", "should be set to 'jQuery UI'"); + equals(this.element.selectmenu("option", "value"), value, "should be set to " + value); }); })(jQuery); -- cgit v1.2.3 From 8e27345e5a1210587038df2d7ec94cc055ee65e6 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 22 Dec 2011 03:07:18 +0100 Subject: Selectmenu: improved a11y unit test --- tests/unit/selectmenu/selectmenu_core.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index e19fefeea..dea3f5d8a 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -10,17 +10,24 @@ test("accessibility", function () { var link = button.children("a"); var ul = menu.children("ul") var links = ul.find("li.ui-menu-item a"); - expect(6 + links.length); + expect(12 + links.length * 2); equals( button.attr("aria-disabled"), "false", "button aria-disabled" ); equals( link.attr("aria-disabled"), "false", "button link aria-disabled" ); equals( link.attr("aria-haspopup"), "true", "button link aria-haspopup" ); equals( link.attr("role"), "button", "button link role" ); equals( link.attr("aria-owns"), ul.attr("id"), "button link aria-owns" ); - equals( link.attr("tabindex"), 0, "button link tabindex" ); - + equals( link.attr("tabindex"), 0, "button link tabindex" ); + + equals( ul.attr("aria-hidden"), "true", "menu aria-hidden" ); + equals( ul.attr("aria-disabled"), "false", "menu aria-disabled" ); + equals( ul.attr("aria-labelledby"), link.attr("id"), "menu aria-labelledby" ); + equals( ul.attr("role"), "menubox", "menu role" ); + equals( ul.attr("tabindex"), 0, "menu tabindex" ); + equals( ul.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "menu aria-activedescendant" ); $.each( links, function(index){ equals( $(this).attr("role"), "option", "menu link #" + index +" role" ); + equals( $(this).attr("tabindex"), -1, "menu link #" + index +" tabindex" ); }); }); -- cgit v1.2.3 From 762131396e8c993b1bef3d786bbd6cc34dfb4bce Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Wed, 11 Jan 2012 21:20:24 +0100 Subject: Selectmenu: improved disabled state handling --- tests/unit/selectmenu/selectmenu_methods.js | 9 +++++---- ui/jquery.ui.selectmenu.js | 7 +++++-- 2 files changed, 10 insertions(+), 6 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_methods.js b/tests/unit/selectmenu/selectmenu_methods.js index 263d27be2..5935f3ea0 100644 --- a/tests/unit/selectmenu/selectmenu_methods.js +++ b/tests/unit/selectmenu/selectmenu_methods.js @@ -33,21 +33,22 @@ test("enable / disable", function () { var element = $("#speed").selectmenu(); var widget = element.selectmenu("widget"); var button = widget.filter(".ui-selectmenu-button"); + var link = button.children("a"); var menu = widget.filter(".ui-selectmenu-menu"); element.selectmenu("disable") ok( element.selectmenu("option", "disabled"), "disable: widget option" ); equals( button.attr("aria-disabled"), "true", "disable: button wrapper ARIA" ); - equals( button.children("a").attr("aria-disabled"), "true", "disable: button ARIA" ); - equals( button.children("a").attr("tabindex"), -1, "disable: button tabindex" ); + equals( link.attr("aria-disabled"), "true", "disable: button ARIA" ); + equals( link.attr("tabindex"), -1, "disable: button tabindex" ); equals( menu.attr("aria-disabled"), "true", "disable: menu wrapper ARIA" ); equals( menu.children("ul").attr("aria-disabled"), "true", "disable: menu ARIA" ); element.selectmenu("enable") ok( !element.selectmenu("option", "disabled"), "enable: widget option" ); equals( button.attr("aria-disabled"), "false", "enable: button wrapper ARIA" ); - equals( button.children("a").attr("aria-disabled"), "false", "enable: button ARIA" ); - equals( button.children("a").attr("tabindex"), 0, "enable: button tabindex" ); + equals( link.attr("aria-disabled"), "false", "enable: button ARIA" ); + equals( link.attr("tabindex"), 0, "enable: button tabindex" ); equals( menu.attr("aria-disabled"), "false", "enable: menu wrapper ARIA" ); equals( menu.children("ul").attr("aria-disabled"), "false", "enable: menu ARIA" ); }); diff --git a/ui/jquery.ui.selectmenu.js b/ui/jquery.ui.selectmenu.js index b116caa1e..ef56dcd04 100644 --- a/ui/jquery.ui.selectmenu.js +++ b/ui/jquery.ui.selectmenu.js @@ -62,6 +62,10 @@ $.widget( "ui.selectmenu", { this._bind( this.button, this._buttonEvents ); this._drawMenu(); + + if ( this.element.attr( 'disabled' ) ) { + this.disable(); + } }, _drawButton: function() { @@ -78,7 +82,6 @@ $.widget( "ui.selectmenu", { css: { width: this.element.outerWidth() }, - 'aria-disabled': this.options.disabled, 'aria-owns': this.ids.menu, 'aria-haspopup': true }) @@ -391,6 +394,7 @@ $.widget( "ui.selectmenu", { } if ( key === "disabled" ) { this.button.button( "option", "disabled", value ); + this.menu.menu( "option", "disabled", value ); if ( value ) { this.element.attr( "disabled", "disabled" ); this.button.attr( "tabindex", -1 ); @@ -399,7 +403,6 @@ $.widget( "ui.selectmenu", { this.element.removeAttr( "disabled" ); this.button.attr( "tabindex", 0 ); } - this.menu.attr( "aria-disabled", value ); } }, -- cgit v1.2.3 From 3369ec340d302ff37f1a8bb52d26a2d270c28596 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 12 Jan 2012 22:01:49 +0100 Subject: Selectmenu: removed option value --- tests/unit/selectmenu/selectmenu_defaults.js | 1 - tests/unit/selectmenu/selectmenu_options.js | 10 ----- tests/visual/selectmenu/methods.html | 12 +++++- tests/visual/selectmenu/option.html | 63 ---------------------------- ui/jquery.ui.selectmenu.js | 21 ++++------ 5 files changed, 18 insertions(+), 89 deletions(-) delete mode 100644 tests/visual/selectmenu/option.html (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_defaults.js b/tests/unit/selectmenu/selectmenu_defaults.js index a0f4f985e..9f6a1a964 100644 --- a/tests/unit/selectmenu/selectmenu_defaults.js +++ b/tests/unit/selectmenu/selectmenu_defaults.js @@ -8,7 +8,6 @@ commonWidgetTests( "selectmenu", { at: "left bottom", collision: "none" }, - value: null, // callbacks, create: null, open: null, diff --git a/tests/unit/selectmenu/selectmenu_options.js b/tests/unit/selectmenu/selectmenu_options.js index 913d1b4c9..9fd053673 100644 --- a/tests/unit/selectmenu/selectmenu_options.js +++ b/tests/unit/selectmenu/selectmenu_options.js @@ -33,14 +33,4 @@ ok(this.element.selectmenu("option", "dropdown", false), "accepts false"); }); - test("value option", function () { - expect(1); - - var value = this.element.find("option").eq(0).text(); - - this.element.selectmenu("option", "value", value); - - equals(this.element.selectmenu("option", "value"), value, "should be set to " + value); - }); - })(jQuery); diff --git a/tests/visual/selectmenu/methods.html b/tests/visual/selectmenu/methods.html index b3e5a42e5..3be5336bd 100644 --- a/tests/visual/selectmenu/methods.html +++ b/tests/visual/selectmenu/methods.html @@ -15,16 +15,23 @@ - - - - - - - - - - - - -
    - -
    -
    - - -
    -
    -
    - - - -
    - - - - - diff --git a/ui/jquery.ui.selectmenu.js b/ui/jquery.ui.selectmenu.js index 4b774e179..fbfd92bd0 100644 --- a/ui/jquery.ui.selectmenu.js +++ b/ui/jquery.ui.selectmenu.js @@ -27,7 +27,6 @@ $.widget( "ui.selectmenu", { at: "left bottom", collision: "none" }, - value: null, // callbacks open: null, focus: null, @@ -43,13 +42,6 @@ $.widget( "ui.selectmenu", { // array of button and menu id's this.ids = { id: selectmenuId, button: selectmenuId + '-button', menu: selectmenuId + '-menu' }; - // set current value - if ( this.options.value ) { - this.element[0].value = this.options.value; - } else { - this.options.value = this.element[0].value; - } - // catch click event of the label this._bind({ 'click': function( event ) { @@ -131,7 +123,7 @@ $.widget( "ui.selectmenu", { item = ui.item.data( "item.selectmenu" ), oldIndex = that.element[0].selectedIndex; - that._setOption( "value", item.value ); + that._setIndex( item.index ); that._trigger( "select", event, { item: item } ); if ( item.index != oldIndex ) { @@ -173,6 +165,8 @@ $.widget( "ui.selectmenu", { this._renderMenu( this.menu, this.items ); this.menu.menu( "refresh" ); + // button option label wont work here + this.button.children( '.ui-button-text' ).text( this.items[ this.element[0].selectedIndex ].label ); // adjust ARIA this.menu.find( "li" ).not( '.ui-selectmenu-optgroup' ).find( 'a' ).attr( 'role', 'option' ); @@ -386,6 +380,11 @@ $.widget( "ui.selectmenu", { } } }, + + _setIndex: function( index ) { + this.element[0].selectedIndex = index; + this.button.button( "option", "label", this.items[ index ].label ); + }, _setOption: function( key, value ) { this._super( key, value ); @@ -393,10 +392,6 @@ $.widget( "ui.selectmenu", { if ( key === "appendTo" ) { this.menuWrap.appendTo( $( value || "body", this.element[0].ownerDocument )[0] ); } - if ( key === "value" && value !== undefined ) { - this.element[0].value = value; - this.button.children( '.ui-button-text' ).text( this.items[ this.element[0].selectedIndex ].label ); - } if ( key === "disabled" ) { this.button.button( "option", "disabled", value ); this.menu.menu( "option", "disabled", value ); -- cgit v1.2.3 From 70ba3b991ed546cd80451ee7e6fb213cac89699b Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 12 Jan 2012 22:04:43 +0100 Subject: Selectmenu: fixed unit tests, needs additional check and cleanup --- tests/unit/selectmenu/selectmenu_core.js | 51 +++++++++++++++--------------- tests/unit/selectmenu/selectmenu_events.js | 14 +++++--- 2 files changed, 34 insertions(+), 31 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index dea3f5d8a..76c0ab18f 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -10,24 +10,21 @@ test("accessibility", function () { var link = button.children("a"); var ul = menu.children("ul") var links = ul.find("li.ui-menu-item a"); - expect(12 + links.length * 2); - - equals( button.attr("aria-disabled"), "false", "button aria-disabled" ); - equals( link.attr("aria-disabled"), "false", "button link aria-disabled" ); - equals( link.attr("aria-haspopup"), "true", "button link aria-haspopup" ); - equals( link.attr("role"), "button", "button link role" ); - equals( link.attr("aria-owns"), ul.attr("id"), "button link aria-owns" ); - equals( link.attr("tabindex"), 0, "button link tabindex" ); + expect(9 + links.length * 2); - equals( ul.attr("aria-hidden"), "true", "menu aria-hidden" ); - equals( ul.attr("aria-disabled"), "false", "menu aria-disabled" ); - equals( ul.attr("aria-labelledby"), link.attr("id"), "menu aria-labelledby" ); - equals( ul.attr("role"), "menubox", "menu role" ); - equals( ul.attr("tabindex"), 0, "menu tabindex" ); - equals( ul.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "menu aria-activedescendant" ); + equals( "true", link.attr("aria-haspopup"), "button link aria-haspopup" ); + equals( "button", link.attr("role"), "button link role" ); + equals( ul.attr("id"), link.attr("aria-owns"), "button link aria-owns" ); + equals( 0, link.attr("tabindex"), "button link tabindex" ); + + equals( "true", ul.attr("aria-hidden"), "menu aria-hidden" ); + equals( link.attr("id"), ul.attr("aria-labelledby"), "menu aria-labelledby" ); + equals( "menubox", ul.attr("role"), "menu role" ); + equals( 0, ul.attr("tabindex"), "menu tabindex" ); + equals( links.eq(element[0].selectedIndex).attr("id"), ul.attr("aria-activedescendant"), "menu aria-activedescendant" ); $.each( links, function(index){ - equals( $(this).attr("role"), "option", "menu link #" + index +" role" ); - equals( $(this).attr("tabindex"), -1, "menu link #" + index +" tabindex" ); + equals( "option", $(this).attr("role"), "menu link #" + index +" role" ); + equals( -1, $(this).attr("tabindex"), "menu link #" + index +" tabindex" ); }); }); @@ -43,24 +40,26 @@ $.each([ } ], function( i, settings ) { test("state synchronization - " + settings.type, function () { - expect(6); + expect(5); var element = $(settings.selector).selectmenu(); var widget = element.selectmenu("widget"); var button = widget.filter(".ui-selectmenu-button"); var menu = widget.filter(".ui-selectmenu-menu"); + var link = button.find("a"); + var selected = element.find("option:selected"); - equals( element[0].value, element.selectmenu("option", "value"), "inital value" ); - equals( element.find("option:selected").text(), button.text(), "inital button text" ); + equals( button.text(), selected.text(), "inital button text" ); - button.find("a").simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); - equals( element[0].value, element.selectmenu("option", "value"), "after keydown value" ); - equals( element.find("option:selected").text(), button.text(), "after keydown button text" ); + link.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); + equals( element.find("option:selected").val(), selected.next("option").val() , "after keydown original select state" ); + equals( button.text(), selected.next("option").text(), "after keydown button text" ); - button.find("a").simulate( "click" ); - menu.find("a").last().simulate( "click" ); - equals( element[0].value, element.selectmenu("option", "value"), "after click value" ); - equals( element.find("option:selected").text(), button.text(), "after click button text" ); + link.simulate( "click" ); + menu.find("a").last().simulate( "mouseover" ).simulate( "click" ); + equals( element.find("option:selected").val(), element.find("option").last().val(), "after click original select state" ); + equals( button.text(), element.find("option").last().text(), "after click button text" ); }); }); + })( jQuery ); diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index fa25e69bb..65e12eab4 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -21,11 +21,11 @@ var widget = this.element.selectmenu("widget"), menu = widget.filter(".ui-selectmenu-menu"), - value = this.element.find("option").eq(0).text(); + button = widget.filter(".ui-selectmenu-button"), + value = this.element.find("option").first().text(); - menu.find(".ui-menu-item").eq(0).simulate("click"); - - equals(this.element.selectmenu("option", "value"), "Slower", "should be set to first option"); + button.find("a").simulate( "click" ); + menu.find("a").first().simulate( "mouseover" ).simulate( "click" ); }); test("close", function () { @@ -61,8 +61,10 @@ }); var widget = this.element.selectmenu("widget"), + button = widget.filter(".ui-selectmenu-button"), menu = widget.filter(".ui-selectmenu-menu"); + button.find("a").simulate( "click" ); menu.find(".ui-menu-item").simulate("mouseover"); }); @@ -93,9 +95,11 @@ }); var widget = this.element.selectmenu("widget"), + button = widget.filter(".ui-selectmenu-button"), menu = widget.filter(".ui-selectmenu-menu"); - menu.find(".ui-menu-item").eq(0).simulate("click"); + button.find("a").simulate( "click" ); + menu.find("a").first().simulate( "mouseover" ).simulate("click"); }); })(jQuery); -- cgit v1.2.3 From 6c049f2f9a6716a81ea7e0f9ee67362e61c397cb Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 12 Jan 2012 22:06:03 +0100 Subject: Selectmenu: added mass (performance) unit test --- tests/unit/selectmenu/selectmenu_core.js | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 76c0ab18f..51ba00c1c 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -62,4 +62,14 @@ $.each([ }); +// test("mass", function () { + // for (var i = 0; i < 100; i++) { + // var element = $('#speed').selectmenu(); + // var widget = element.selectmenu("destroy"); + // expect(0); + // } +// }); + + + })( jQuery ); -- cgit v1.2.3 From 5766261af2767862ab6750e5eb8d6a927ced50ae Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Fri, 13 Jan 2012 19:49:42 +0100 Subject: Selectmenu: fix unit tests (with clean-up) --- tests/unit/selectmenu/selectmenu_core.js | 29 ++-- tests/unit/selectmenu/selectmenu_events.js | 205 ++++++++++++++-------------- tests/unit/selectmenu/selectmenu_methods.js | 59 ++++---- tests/unit/selectmenu/selectmenu_options.js | 59 ++++---- 4 files changed, 179 insertions(+), 173 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 51ba00c1c..f06f65c99 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -3,13 +3,15 @@ module( "selectmenu: core" ); test("accessibility", function () { - var element = $('#speed').selectmenu(); - var widget = element.selectmenu("widget"); - var button = widget.filter(".ui-selectmenu-button"); - var menu = widget.filter(".ui-selectmenu-menu"); - var link = button.children("a"); - var ul = menu.children("ul") - var links = ul.find("li.ui-menu-item a"); + var element = $('#speed').selectmenu(), + widget = element.selectmenu("widget"), + button = widget.filter(".ui-selectmenu-button"), + menu = widget.filter(".ui-selectmenu-menu"), + link = button.find("a"), + selected = element.find("option:selected"), + ul = menu.children("ul"), + links = ul.find("li.ui-menu-item a"); + expect(9 + links.length * 2); equals( "true", link.attr("aria-haspopup"), "button link aria-haspopup" ); @@ -41,12 +43,13 @@ $.each([ ], function( i, settings ) { test("state synchronization - " + settings.type, function () { expect(5); - var element = $(settings.selector).selectmenu(); - var widget = element.selectmenu("widget"); - var button = widget.filter(".ui-selectmenu-button"); - var menu = widget.filter(".ui-selectmenu-menu"); - var link = button.find("a"); - var selected = element.find("option:selected"); + + var element = $(settings.selector).selectmenu(), + widget = element.selectmenu("widget"), + button = widget.filter(".ui-selectmenu-button"), + menu = widget.filter(".ui-selectmenu-menu"), + link = button.find("a"), + selected = element.find("option:selected"); equals( button.text(), selected.text(), "inital button text" ); diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index 65e12eab4..4aad80c42 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -1,105 +1,108 @@ (function ($) { - module("selectmenu: events", { - setup: function () { - this.element = $("#speed"); - } - }); - - test("change", function () { - expect(5); - - this.element.selectmenu({ - change: function (event, ui) { - ok(event, "change event fired on change"); - equals(event.type, "selectmenuchange", "event type set to selectmenuchange"); - ok(ui, "ui object is passed as second argument to event handler"); - equals(ui.item.element[0].nodeName, "OPTION", "ui.item.element[0] points to original option element"); - equals(ui.item.value, value, "ui.item.value property updated correctly"); - } - }); - - var widget = this.element.selectmenu("widget"), - menu = widget.filter(".ui-selectmenu-menu"), - button = widget.filter(".ui-selectmenu-button"), - value = this.element.find("option").first().text(); - - button.find("a").simulate( "click" ); - menu.find("a").first().simulate( "mouseover" ).simulate( "click" ); - }); - - test("close", function () { - expect(3); - - this.element.selectmenu({ - close: function (event, ui) { - ok(event, "close event fired on close"); - equals(event.type, "selectmenuclose", "event type set to selectmenuclose"); - ok(ui, "ui object is passed as second argument to event handler"); - } - }); - - this.element.selectmenu("open").selectmenu("close"); - }); - - test("focus", function () { - expect(4); - - var counter = 0; - - this.element.selectmenu({ - focus: function (event, ui) { - counter++; - - if (counter === 1) { - ok(event, "focus event fired on mouseover"); - equals(event.type, "selectmenufocus", "event type set to selectmenufocus"); - ok(ui, "ui object is passed as second argument to event handler"); - equals(ui.item.element[0].nodeName, "OPTION", "ui points to original option element"); - } - } - }); - - var widget = this.element.selectmenu("widget"), - button = widget.filter(".ui-selectmenu-button"), - menu = widget.filter(".ui-selectmenu-menu"); - - button.find("a").simulate( "click" ); - menu.find(".ui-menu-item").simulate("mouseover"); - }); - - test("open", function () { - expect(3); - - this.element.selectmenu({ - open: function (event, ui) { - ok(event, "open event fired on open"); - equals(event.type, "selectmenuopen", "event type set to selectmenuopen"); - ok(ui, "ui object is passed as second argument to event handler"); - } - }); - - this.element.selectmenu("open"); - }); - - test("select", function () { - expect(4); - - this.element.selectmenu({ - select: function (event, ui) { - ok(event, "select event fired on item select"); - equals(event.type, "selectmenuselect", "event type set to selectmenuselect"); - ok(ui, "ui object is passed as second argument to event handler"); - equals(ui.item.element[0].nodeName, "OPTION", "ui points to original option element"); - } - }); - - var widget = this.element.selectmenu("widget"), - button = widget.filter(".ui-selectmenu-button"), - menu = widget.filter(".ui-selectmenu-menu"); - - button.find("a").simulate( "click" ); - menu.find("a").first().simulate( "mouseover" ).simulate("click"); - }); +module("selectmenu: events", { + setup: function () { + this.element = $("#speed"); + } +}); + +test("change", function () { + expect(5); + + this.element.selectmenu({ + change: function (event, ui) { + ok(event, "change event fired on change"); + equals(event.type, "selectmenuchange", "event type set to selectmenuchange"); + ok(ui, "ui object is passed as second argument to event handler"); + equals(ui.item.element[0].nodeName, "OPTION", "ui.item.element[0] points to original option element"); + equals(ui.item.value, value, "ui.item.value property updated correctly"); + } + }); + + var widget = this.element.selectmenu("widget"), + menu = widget.filter(".ui-selectmenu-menu"), + button = widget.filter(".ui-selectmenu-button"), + value = this.element.find("option").first().text(); + + button.find("a").simulate( "click" ); + menu.find("a").first().simulate( "mouseover" ).simulate( "click" ); +}); + + +test("close", function () { + expect(3); + + this.element.selectmenu({ + close: function (event, ui) { + ok(event, "close event fired on close"); + equals(event.type, "selectmenuclose", "event type set to selectmenuclose"); + ok(ui, "ui object is passed as second argument to event handler"); + } + }); + + this.element.selectmenu("open").selectmenu("close"); +}); + + +test("focus", function () { + expect(4); + + var counter = 0; + + this.element.selectmenu({ + focus: function (event, ui) { + counter++; + if (counter === 1) { + ok(event, "focus event fired on mouseover"); + equals(event.type, "selectmenufocus", "event type set to selectmenufocus"); + ok(ui, "ui object is passed as second argument to event handler"); + equals(ui.item.element[0].nodeName, "OPTION", "ui points to original option element"); + } + } + }); + + var widget = this.element.selectmenu("widget"), + button = widget.filter(".ui-selectmenu-button"), + menu = widget.filter(".ui-selectmenu-menu"); + + button.find("a").simulate( "click" ); + menu.find(".ui-menu-item").simulate("mouseover"); +}); + + +test("open", function () { + expect(3); + + this.element.selectmenu({ + open: function (event, ui) { + ok(event, "open event fired on open"); + equals(event.type, "selectmenuopen", "event type set to selectmenuopen"); + ok(ui, "ui object is passed as second argument to event handler"); + } + }); + + this.element.selectmenu("open"); +}); + + +test("select", function () { + expect(4); + + this.element.selectmenu({ + select: function (event, ui) { + ok(event, "select event fired on item select"); + equals(event.type, "selectmenuselect", "event type set to selectmenuselect"); + ok(ui, "ui object is passed as second argument to event handler"); + equals(ui.item.element[0].nodeName, "OPTION", "ui points to original option element"); + } + }); + + var widget = this.element.selectmenu("widget"), + button = widget.filter(".ui-selectmenu-button"), + menu = widget.filter(".ui-selectmenu-menu"); + + button.find("a").simulate( "click" ); + menu.find("a").first().simulate( "mouseover" ).simulate("click"); +}); })(jQuery); diff --git a/tests/unit/selectmenu/selectmenu_methods.js b/tests/unit/selectmenu/selectmenu_methods.js index 5935f3ea0..9674d97d5 100644 --- a/tests/unit/selectmenu/selectmenu_methods.js +++ b/tests/unit/selectmenu/selectmenu_methods.js @@ -13,10 +13,10 @@ test( "destroy", function() { test( "open / close", function() { expect( 4 ); - var element = $("#speed").selectmenu(); - var widget = element.selectmenu("widget"); - var button = widget.filter(".ui-selectmenu-button"); - var menu = widget.filter(".ui-selectmenu-menu"); + var element = $('#speed').selectmenu(), + widget = element.selectmenu("widget"), + button = widget.filter(".ui-selectmenu-button"), + menu = widget.filter(".ui-selectmenu-menu"); element.selectmenu("open"); ok( menu.is( ":visible" ), "menu visible" ); @@ -30,11 +30,12 @@ test( "open / close", function() { test("enable / disable", function () { expect(12); - var element = $("#speed").selectmenu(); - var widget = element.selectmenu("widget"); - var button = widget.filter(".ui-selectmenu-button"); - var link = button.children("a"); - var menu = widget.filter(".ui-selectmenu-menu"); + + var element = $('#speed').selectmenu(), + widget = element.selectmenu("widget"), + button = widget.filter(".ui-selectmenu-button"), + menu = widget.filter(".ui-selectmenu-menu"), + link = button.find("a"); element.selectmenu("disable") ok( element.selectmenu("option", "disabled"), "disable: widget option" ); @@ -56,10 +57,11 @@ test("enable / disable", function () { test("refresh - structure", function () { expect(3); - var element = $("#number").selectmenu(); - var widget = element.selectmenu("widget"); - var button = widget.filter(".ui-selectmenu-button"); - var menu = widget.filter(".ui-selectmenu-menu"); + + var element = $('#speed').selectmenu(), + widget = element.selectmenu("widget"), + button = widget.filter(".ui-selectmenu-button"), + menu = widget.filter(".ui-selectmenu-menu"); element.find("option").eq(2).remove(); element.find("option").eq(3).remove(); @@ -77,10 +79,11 @@ test("refresh - structure", function () { test("refresh - disabled select", function () { expect(6); - var element = $("#speed").selectmenu(); - var widget = element.selectmenu("widget"); - var button = widget.filter(".ui-selectmenu-button"); - var menu = widget.filter(".ui-selectmenu-menu"); + + var element = $('#speed').selectmenu(), + widget = element.selectmenu("widget"), + button = widget.filter(".ui-selectmenu-button"), + menu = widget.filter(".ui-selectmenu-menu"); element.attr("disabled", "disabled"); element.selectmenu("refresh"); @@ -95,10 +98,11 @@ test("refresh - disabled select", function () { test("refresh - disabled option", function () { expect(2); - var element = $("#speed").selectmenu(); - var widget = element.selectmenu("widget"); - var button = widget.filter(".ui-selectmenu-button"); - var menu = widget.filter(".ui-selectmenu-menu"); + + var element = $('#speed').selectmenu(), + widget = element.selectmenu("widget"), + button = widget.filter(".ui-selectmenu-button"), + menu = widget.filter(".ui-selectmenu-menu"); element.attr("disabled", "disabled"); element.find("option").eq(2).attr("disabled", "disabled"); @@ -110,13 +114,14 @@ test("refresh - disabled option", function () { }); test("refresh - disabled optgroup", function () { - var element = $("#files").selectmenu(); - var widget = element.selectmenu("widget"); - var button = widget.filter(".ui-selectmenu-button"); - var menu = widget.filter(".ui-selectmenu-menu"); - var originalDisabledOptgroup = element.find("optgroup").first(); - var originalDisabledOptions = originalDisabledOptgroup.find("option"); + var element = $('#files').selectmenu(), + widget = element.selectmenu("widget"), + button = widget.filter(".ui-selectmenu-button"), + menu = widget.filter(".ui-selectmenu-menu"); + originalDisabledOptgroup = element.find("optgroup").first(), + originalDisabledOptions = originalDisabledOptgroup.find("option"); + expect(2 + originalDisabledOptions.length * 2); originalDisabledOptgroup.attr("disabled", "disabled"); diff --git a/tests/unit/selectmenu/selectmenu_options.js b/tests/unit/selectmenu/selectmenu_options.js index 9fd053673..804a8bee2 100644 --- a/tests/unit/selectmenu/selectmenu_options.js +++ b/tests/unit/selectmenu/selectmenu_options.js @@ -1,36 +1,31 @@ (function ($) { - module("selectmenu: options", { - setup: function () { - this.element = $("#speed"); - this.element.selectmenu(); - } - }); - - test("appendTo another element", function () { - expect(2); - - ok(this.element.selectmenu("option", "appendTo", "#qunit-fixture"), "appendTo accepts selector"); - ok($("#qunit-fixture").find(".ui-selectmenu-menu").length, "selectmenu appendedTo other element"); - }); - - test("dropdown", function () { - expect(2); - - var button = $("#speed-button"), - widget = this.element.selectmenu("widget"), - buttonPos = { - l: button.offset().top, - t: button.offset().left - }, - menuPos = { - l: widget.offset().top, - t: widget.offset().left - }; - - equals(menuPos.t, buttonPos.t, "menu positioned below button in dropdown mode"); //button has no height - - ok(this.element.selectmenu("option", "dropdown", false), "accepts false"); - }); +module("selectmenu: options", { + setup: function () { + this.element = $("#speed").selectmenu(); + } +}); + +test("appendTo another element", function () { + expect(2); + + ok(this.element.selectmenu("option", "appendTo", "#qunit-fixture"), "appendTo accepts selector"); + ok($("#qunit-fixture").find(".ui-selectmenu-menu").length, "selectmenu appendedTo other element"); +}); + +test("dropdown: CSS styles", function () { + expect(2); + + var widget = this.element.selectmenu("widget"), + button = widget.filter(".ui-selectmenu-button"), + link = button.find("a"), + menu = widget.filter(".ui-selectmenu-menu"), + ul = widget.find("ul"); + + this.element.selectmenu("open"); + + ok( link.hasClass("ui-corner-top") && !link.hasClass("ui-corner-all"), "button styles"); + ok( ul.hasClass("ui-corner-bottom") && !ul.hasClass("ui-corner-all"), "menu styles"); +}); })(jQuery); -- cgit v1.2.3 From ba73886d3f0ad1c62eea92a7c8858f71cab6a19d Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Fri, 13 Jan 2012 20:46:47 +0100 Subject: Selectmenu: improved dropdown CSS style unit test --- tests/unit/selectmenu/selectmenu_methods.js | 2 ++ tests/unit/selectmenu/selectmenu_options.js | 14 ++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_methods.js b/tests/unit/selectmenu/selectmenu_methods.js index 9674d97d5..e089bc06f 100644 --- a/tests/unit/selectmenu/selectmenu_methods.js +++ b/tests/unit/selectmenu/selectmenu_methods.js @@ -96,6 +96,7 @@ test("refresh - disabled select", function () { equals( menu.children("ul").attr("aria-disabled"), "true", "mene ARIA" ); }); + test("refresh - disabled option", function () { expect(2); @@ -113,6 +114,7 @@ test("refresh - disabled option", function () { ok( disabledItem.children("a").length <= 0, "has no link" ); }); + test("refresh - disabled optgroup", function () { var element = $('#files').selectmenu(), diff --git a/tests/unit/selectmenu/selectmenu_options.js b/tests/unit/selectmenu/selectmenu_options.js index 804a8bee2..993086b27 100644 --- a/tests/unit/selectmenu/selectmenu_options.js +++ b/tests/unit/selectmenu/selectmenu_options.js @@ -13,8 +13,9 @@ test("appendTo another element", function () { ok($("#qunit-fixture").find(".ui-selectmenu-menu").length, "selectmenu appendedTo other element"); }); + test("dropdown: CSS styles", function () { - expect(2); + expect(4); var widget = this.element.selectmenu("widget"), button = widget.filter(".ui-selectmenu-button"), @@ -22,10 +23,15 @@ test("dropdown: CSS styles", function () { menu = widget.filter(".ui-selectmenu-menu"), ul = widget.find("ul"); - this.element.selectmenu("open"); + this.element.selectmenu("open"); + ok( link.hasClass("ui-corner-top") && !link.hasClass("ui-corner-all"), "button styles dropdown"); + ok( ul.hasClass("ui-corner-bottom") && !ul.hasClass("ui-corner-all"), "menu styles dropdown"); - ok( link.hasClass("ui-corner-top") && !link.hasClass("ui-corner-all"), "button styles"); - ok( ul.hasClass("ui-corner-bottom") && !ul.hasClass("ui-corner-all"), "menu styles"); + this.element.selectmenu("close"); + this.element.selectmenu("option", "dropdown", false); + this.element.selectmenu("open"); + ok( !link.hasClass("ui-corner-top") && link.hasClass("ui-corner-all"), "button styles pop-up"); + ok( !ul.hasClass("ui-corner-bottom") && ul.hasClass("ui-corner-all"), "menu styles pop-up"); }); })(jQuery); -- cgit v1.2.3 From 08de75cbec6f676bf2a9f96867c5e1df44d7d759 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Fri, 20 Jan 2012 00:49:10 +0100 Subject: Selectmenu: add refresh method to visual test --- tests/visual/selectmenu/methods.html | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/visual/selectmenu/methods.html b/tests/visual/selectmenu/methods.html index 3be5336bd..d2654abfa 100644 --- a/tests/visual/selectmenu/methods.html +++ b/tests/visual/selectmenu/methods.html @@ -32,6 +32,11 @@ mySelectmenu.selectmenu("refresh"); }); + $("#refresh").click( function() { + mySelectmenu.selectmenu("refresh"); + return false; + }); + $("#open").click( function() { mySelectmenu.selectmenu("open"); return false; @@ -69,7 +74,8 @@
    - + + -- cgit v1.2.3 From d83e169424adf341afea4351cbe5b056f42ac996 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Sun, 22 Jan 2012 13:47:22 +0100 Subject: Selectmenu: fixed unit tests due to initial refresh method changes --- tests/unit/selectmenu/selectmenu_core.js | 1 + tests/unit/selectmenu/selectmenu_events.js | 24 ++++++++++++++++++++---- tests/unit/selectmenu/selectmenu_options.js | 1 + 3 files changed, 22 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index f06f65c99..85fd4b38c 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -53,6 +53,7 @@ $.each([ equals( button.text(), selected.text(), "inital button text" ); + link.simulate( "focus" ); link.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); equals( element.find("option:selected").val(), selected.next("option").val() , "after keydown original select state" ); equals( button.text(), selected.next("option").text(), "after keydown button text" ); diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index 4aad80c42..8031b6fc6 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -22,9 +22,11 @@ test("change", function () { var widget = this.element.selectmenu("widget"), menu = widget.filter(".ui-selectmenu-menu"), button = widget.filter(".ui-selectmenu-button"), + link = button.find("a"), value = this.element.find("option").first().text(); - - button.find("a").simulate( "click" ); + + link.simulate( "focus" ); + link.simulate( "click" ); menu.find("a").first().simulate( "mouseover" ).simulate( "click" ); }); @@ -40,6 +42,11 @@ test("close", function () { } }); + var widget = this.element.selectmenu("widget"), + button = widget.filter(".ui-selectmenu-button"), + link = button.find("a"); + + link.simulate( "focus" ); this.element.selectmenu("open").selectmenu("close"); }); @@ -63,9 +70,11 @@ test("focus", function () { var widget = this.element.selectmenu("widget"), button = widget.filter(".ui-selectmenu-button"), + link = button.find("a"), menu = widget.filter(".ui-selectmenu-menu"); - button.find("a").simulate( "click" ); + link.simulate( "focus" ); + link.simulate( "click" ); menu.find(".ui-menu-item").simulate("mouseover"); }); @@ -81,6 +90,11 @@ test("open", function () { } }); + var widget = this.element.selectmenu("widget"), + button = widget.filter(".ui-selectmenu-button"), + link = button.find("a"); + + link.simulate( "focus" ); this.element.selectmenu("open"); }); @@ -99,9 +113,11 @@ test("select", function () { var widget = this.element.selectmenu("widget"), button = widget.filter(".ui-selectmenu-button"), + link = button.find("a"), menu = widget.filter(".ui-selectmenu-menu"); - button.find("a").simulate( "click" ); + link.simulate( "focus" ); + link.simulate( "click" ); menu.find("a").first().simulate( "mouseover" ).simulate("click"); }); diff --git a/tests/unit/selectmenu/selectmenu_options.js b/tests/unit/selectmenu/selectmenu_options.js index 993086b27..32f490ce0 100644 --- a/tests/unit/selectmenu/selectmenu_options.js +++ b/tests/unit/selectmenu/selectmenu_options.js @@ -23,6 +23,7 @@ test("dropdown: CSS styles", function () { menu = widget.filter(".ui-selectmenu-menu"), ul = widget.find("ul"); + link.simulate( "focus" ); this.element.selectmenu("open"); ok( link.hasClass("ui-corner-top") && !link.hasClass("ui-corner-all"), "button styles dropdown"); ok( ul.hasClass("ui-corner-bottom") && !ul.hasClass("ui-corner-all"), "menu styles dropdown"); -- cgit v1.2.3 From 725023e30db10cc0a3ec2b8b9fda0ec80a4ab496 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Sun, 22 Jan 2012 14:12:52 +0100 Subject: Selectmenu: revert initial refresh method changes (with unit tests) This reverts commit 27049fc5dc59522c38376d5c91f9f9a304e16613 and d83e169424adf341afea4351cbe5b056f42ac996 --- tests/unit/selectmenu/selectmenu_core.js | 1 - tests/unit/selectmenu/selectmenu_events.js | 24 ++++-------------------- tests/unit/selectmenu/selectmenu_options.js | 1 - ui/jquery.ui.selectmenu.js | 16 +++++++++++----- 4 files changed, 15 insertions(+), 27 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 85fd4b38c..f06f65c99 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -53,7 +53,6 @@ $.each([ equals( button.text(), selected.text(), "inital button text" ); - link.simulate( "focus" ); link.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); equals( element.find("option:selected").val(), selected.next("option").val() , "after keydown original select state" ); equals( button.text(), selected.next("option").text(), "after keydown button text" ); diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index 8031b6fc6..4aad80c42 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -22,11 +22,9 @@ test("change", function () { var widget = this.element.selectmenu("widget"), menu = widget.filter(".ui-selectmenu-menu"), button = widget.filter(".ui-selectmenu-button"), - link = button.find("a"), value = this.element.find("option").first().text(); - - link.simulate( "focus" ); - link.simulate( "click" ); + + button.find("a").simulate( "click" ); menu.find("a").first().simulate( "mouseover" ).simulate( "click" ); }); @@ -42,11 +40,6 @@ test("close", function () { } }); - var widget = this.element.selectmenu("widget"), - button = widget.filter(".ui-selectmenu-button"), - link = button.find("a"); - - link.simulate( "focus" ); this.element.selectmenu("open").selectmenu("close"); }); @@ -70,11 +63,9 @@ test("focus", function () { var widget = this.element.selectmenu("widget"), button = widget.filter(".ui-selectmenu-button"), - link = button.find("a"), menu = widget.filter(".ui-selectmenu-menu"); - link.simulate( "focus" ); - link.simulate( "click" ); + button.find("a").simulate( "click" ); menu.find(".ui-menu-item").simulate("mouseover"); }); @@ -90,11 +81,6 @@ test("open", function () { } }); - var widget = this.element.selectmenu("widget"), - button = widget.filter(".ui-selectmenu-button"), - link = button.find("a"); - - link.simulate( "focus" ); this.element.selectmenu("open"); }); @@ -113,11 +99,9 @@ test("select", function () { var widget = this.element.selectmenu("widget"), button = widget.filter(".ui-selectmenu-button"), - link = button.find("a"), menu = widget.filter(".ui-selectmenu-menu"); - link.simulate( "focus" ); - link.simulate( "click" ); + button.find("a").simulate( "click" ); menu.find("a").first().simulate( "mouseover" ).simulate("click"); }); diff --git a/tests/unit/selectmenu/selectmenu_options.js b/tests/unit/selectmenu/selectmenu_options.js index 32f490ce0..993086b27 100644 --- a/tests/unit/selectmenu/selectmenu_options.js +++ b/tests/unit/selectmenu/selectmenu_options.js @@ -23,7 +23,6 @@ test("dropdown: CSS styles", function () { menu = widget.filter(".ui-selectmenu-menu"), ul = widget.find("ul"); - link.simulate( "focus" ); this.element.selectmenu("open"); ok( link.hasClass("ui-corner-top") && !link.hasClass("ui-corner-all"), "button styles dropdown"); ok( ul.hasClass("ui-corner-bottom") && !ul.hasClass("ui-corner-all"), "menu styles dropdown"); diff --git a/ui/jquery.ui.selectmenu.js b/ui/jquery.ui.selectmenu.js index 5802b6848..af34b4e19 100644 --- a/ui/jquery.ui.selectmenu.js +++ b/ui/jquery.ui.selectmenu.js @@ -185,6 +185,12 @@ $.widget( "ui.selectmenu", { open: function( event ) { if ( !this.options.disabled ) { + // init menu when initial opened + if ( !this.wasOpen ) { + this.refresh(); + this.wasOpen = true; + } + var currentItem = this._getSelectedItem(); this._toggleButtonStyle(); @@ -269,6 +275,11 @@ $.widget( "ui.selectmenu", { }, _move: function( direction, event ) { + // init menu when not done yet + if ( !this.wasOpen ) { + this.refresh(); + this.wasOpen = true; + } if ( direction == "first" || direction == "last" ) { // set focus manually for first or last item this.menu.menu( "focus", event, this.menu.find( "li" ).not( '.ui-selectmenu-optgroup' )[ direction ]() ); @@ -300,11 +311,6 @@ $.widget( "ui.selectmenu", { }, _buttonEvents: { - focus: function( event ) { - // init Menu on first focus - this.refresh(); - this.button.unbind( "focus." + this.widgetName ) - }, click: function( event ) { this._toggle( event ); event.preventDefault(); -- cgit v1.2.3 From 50c308339c44f17b3a5c9dbc0e759f8b55a1297a Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Sun, 22 Jan 2012 15:44:23 +0100 Subject: Selectmenu: fixed unit tests in IE --- tests/unit/selectmenu/selectmenu_core.js | 2 +- tests/unit/selectmenu/selectmenu_events.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index f06f65c99..c8feedee4 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -58,7 +58,7 @@ $.each([ equals( button.text(), selected.next("option").text(), "after keydown button text" ); link.simulate( "click" ); - menu.find("a").last().simulate( "mouseover" ).simulate( "click" ); + menu.find("a").last().simulate( "mouseover" ).trigger( "click" ); equals( element.find("option:selected").val(), element.find("option").last().val(), "after click original select state" ); equals( button.text(), element.find("option").last().text(), "after click button text" ); }); diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index 4aad80c42..92dc6f01a 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -25,7 +25,7 @@ test("change", function () { value = this.element.find("option").first().text(); button.find("a").simulate( "click" ); - menu.find("a").first().simulate( "mouseover" ).simulate( "click" ); + menu.find("a").first().simulate( "mouseover" ).trigger( "click" ); }); @@ -102,7 +102,7 @@ test("select", function () { menu = widget.filter(".ui-selectmenu-menu"); button.find("a").simulate( "click" ); - menu.find("a").first().simulate( "mouseover" ).simulate("click"); + menu.find("a").first().simulate( "mouseover" ).trigger("click"); }); })(jQuery); -- cgit v1.2.3 From 4dbbd0598a58277816289441f3278a65025515d3 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Sun, 22 Jan 2012 19:19:37 +0100 Subject: Selectmenu: implement new ARIA spec --- tests/unit/selectmenu/selectmenu_core.js | 40 +++++++++++------- tests/unit/selectmenu/selectmenu_methods.js | 4 +- ui/jquery.ui.selectmenu.js | 63 +++++++++++++++-------------- 3 files changed, 60 insertions(+), 47 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index c8feedee4..d3b2bfa81 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -12,22 +12,26 @@ test("accessibility", function () { ul = menu.children("ul"), links = ul.find("li.ui-menu-item a"); - expect(9 + links.length * 2); + expect(13 + links.length * 2); - equals( "true", link.attr("aria-haspopup"), "button link aria-haspopup" ); - equals( "button", link.attr("role"), "button link role" ); - equals( ul.attr("id"), link.attr("aria-owns"), "button link aria-owns" ); - equals( 0, link.attr("tabindex"), "button link tabindex" ); + equals( link.attr("role"), "combobox", "button link role" ); + equals( link.attr("aria-haspopup"), "true", "button link aria-haspopup" ); + equals( link.attr("aria-expanded"), "false", "button link aria-expanded" ); + equals( link.attr("aria-autocomplete"), "list", "button link aria-autocomplete" ); + equals( link.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "button link aria-activedescendant" ); + equals( link.attr("aria-owns"), ul.attr("id"), "button link aria-owns" ); + equals( link.attr("tabindex"), 0, "button link tabindex" ); - equals( "true", ul.attr("aria-hidden"), "menu aria-hidden" ); - equals( link.attr("id"), ul.attr("aria-labelledby"), "menu aria-labelledby" ); - equals( "menubox", ul.attr("role"), "menu role" ); - equals( 0, ul.attr("tabindex"), "menu tabindex" ); - equals( links.eq(element[0].selectedIndex).attr("id"), ul.attr("aria-activedescendant"), "menu aria-activedescendant" ); + equals( ul.attr("role"), "listbox", "menu role" ); + equals( ul.attr("aria-labelledby"), link.attr("id"), "menu aria-labelledby" ); + equals( ul.attr("aria-hidden"), "true", "menu aria-hidden" ); + equals( ul.attr("tabindex"), 0, "menu tabindex" ); + equals( ul.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "menu aria-activedescendant" ); $.each( links, function(index){ - equals( "option", $(this).attr("role"), "menu link #" + index +" role" ); - equals( -1, $(this).attr("tabindex"), "menu link #" + index +" tabindex" ); + equals( $(this).attr("role"), "option", "menu link #" + index +" role" ); + equals( $(this).attr("tabindex"), -1, "menu link #" + index +" tabindex" ); }); + equals( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "selected menu link aria-selected" ); }); @@ -42,23 +46,29 @@ $.each([ } ], function( i, settings ) { test("state synchronization - " + settings.type, function () { - expect(5); + expect(10); var element = $(settings.selector).selectmenu(), widget = element.selectmenu("widget"), button = widget.filter(".ui-selectmenu-button"), menu = widget.filter(".ui-selectmenu-menu"), link = button.find("a"), + ul = menu.children("ul"), + links = ul.find("li.ui-menu-item a"), selected = element.find("option:selected"); - equals( button.text(), selected.text(), "inital button text" ); - link.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); + equals( ul.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after keydown menu aria-activedescendant" ); + equals( link.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after keydown button link aria-activedescendant" ); + equals( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "after keydown selected menu link aria-selected" ); equals( element.find("option:selected").val(), selected.next("option").val() , "after keydown original select state" ); equals( button.text(), selected.next("option").text(), "after keydown button text" ); link.simulate( "click" ); menu.find("a").last().simulate( "mouseover" ).trigger( "click" ); + equals( ul.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after click menu aria-activedescendant" ); + equals( link.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after click button link aria-activedescendant" ); + equals( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "after click selected menu link aria-selected" ); equals( element.find("option:selected").val(), element.find("option").last().val(), "after click original select state" ); equals( button.text(), element.find("option").last().text(), "after click button text" ); }); diff --git a/tests/unit/selectmenu/selectmenu_methods.js b/tests/unit/selectmenu/selectmenu_methods.js index e089bc06f..47e76053d 100644 --- a/tests/unit/selectmenu/selectmenu_methods.js +++ b/tests/unit/selectmenu/selectmenu_methods.js @@ -29,7 +29,7 @@ test( "open / close", function() { test("enable / disable", function () { - expect(12); + expect(14); var element = $('#speed').selectmenu(), widget = element.selectmenu("widget"), @@ -39,6 +39,7 @@ test("enable / disable", function () { element.selectmenu("disable") ok( element.selectmenu("option", "disabled"), "disable: widget option" ); + equals( element.attr("disabled"), "disabled", "disable: native select disabled" ); equals( button.attr("aria-disabled"), "true", "disable: button wrapper ARIA" ); equals( link.attr("aria-disabled"), "true", "disable: button ARIA" ); equals( link.attr("tabindex"), -1, "disable: button tabindex" ); @@ -47,6 +48,7 @@ test("enable / disable", function () { element.selectmenu("enable") ok( !element.selectmenu("option", "disabled"), "enable: widget option" ); + equals( element.attr("disabled"), undefined, "enable: native select disabled" ); equals( button.attr("aria-disabled"), "false", "enable: button wrapper ARIA" ); equals( link.attr("aria-disabled"), "false", "enable: button ARIA" ); equals( link.attr("tabindex"), 0, "enable: button tabindex" ); diff --git a/ui/jquery.ui.selectmenu.js b/ui/jquery.ui.selectmenu.js index 94bdd19a3..f9c8a30af 100644 --- a/ui/jquery.ui.selectmenu.js +++ b/ui/jquery.ui.selectmenu.js @@ -54,6 +54,7 @@ $.widget( "ui.selectmenu", { this._bind( this.button, this._buttonEvents ); this._drawMenu(); + this.refresh(); if ( this.options.disabled ) { this.disable(); @@ -74,15 +75,18 @@ $.widget( "ui.selectmenu", { css: { width: this.element.outerWidth() }, + 'aria-expanded': false, + 'aria-autocomplete': 'list', 'aria-owns': this.ids.menu, 'aria-haspopup': true }) .button({ - label: this.element.find( "option:selected" ).text(), icons: { primary: ( this.options.dropdown ? 'ui-icon-triangle-1-s' : 'ui-icon-triangle-2-n-s' ) } - }); + }) + // change ARIA role + .attr( 'role', 'combobox' ); // wrap and insert new button this.buttonWrap = $( '' ) @@ -122,7 +126,9 @@ $.widget( "ui.selectmenu", { var item = ui.item.data( "item.selectmenu" ), oldIndex = that.element[0].selectedIndex; - that._setIndex( item.index ); + // change native select element + that.element[0].selectedIndex = item.index; + that._setSelected(); that._trigger( "select", event, { item: item } ); if ( item.index != oldIndex ) { @@ -145,7 +151,7 @@ $.widget( "ui.selectmenu", { } }) // change ARIA role - .attr( 'role', 'menubox' ); + .attr( 'role', 'listbox' ); // change menu styles? this._setOption( "dropdown", this.options.dropdown ); @@ -165,38 +171,27 @@ $.widget( "ui.selectmenu", { this._readOptions(); this._renderMenu( this.menu, this.items ); - + this.menu.menu( "refresh" ); - // button option label wont work here - this.button.children( '.ui-button-text' ).text( this.items[ this.element[0].selectedIndex ].label ); // adjust ARIA - this.menu.find( "li" ).not( '.ui-selectmenu-optgroup' ).find( 'a' ).attr( 'role', 'option' ); - this.menu.attr( "aria-activedescendant" , this.menu.find( "li.ui-menu-item a" ).eq( this.element[0].selectedIndex ).attr( "id" ) ); + this._getItems().find( 'a' ).attr( 'role', 'option' ); + this._setSelected(); // set and transfer disabled state this._getCreateOptions(); - if ( this.options.disabled ) { - this.disable(); - } else { - this.enable() - } + this._setOption( "disabled", this.options.disabled ); }, open: function( event ) { if ( !this.options.disabled ) { - // init menu when initial opened - if ( !this.wasOpen ) { - this.refresh(); - this.wasOpen = true; - } - var currentItem = this._getSelectedItem(); this._toggleButtonStyle(); this.menuWrap.addClass( 'ui-selectmenu-open' ); this.menu.attr("aria-hidden", false); + this.button.attr("aria-expanded", true); // needs to be fired after the document click event has closed all other Selectmenus // otherwise the current item is not indicated // TODO check if this should be handled by Menu @@ -236,7 +231,8 @@ $.widget( "ui.selectmenu", { this._toggleButtonStyle(); this.menuWrap.removeClass( 'ui-selectmenu-open' ); - this.menu.attr("aria-hidden", true); + this.menu.attr( "aria-hidden", true ); + this.button.attr( "aria-expanded", false ); this.isOpen = false; if ( focus ) { @@ -282,14 +278,9 @@ $.widget( "ui.selectmenu", { }, _move: function( direction, event ) { - // init menu when not done yet - if ( !this.wasOpen ) { - this.refresh(); - this.wasOpen = true; - } if ( direction == "first" || direction == "last" ) { // set focus manually for first or last item - this.menu.menu( "focus", event, this.menu.find( "li" ).not( '.ui-selectmenu-optgroup' )[ direction ]() ); + this.menu.menu( "focus", event, this._getItems()[ direction ]() ); } else { // if menu is closed we need to focus the element first to indicate correct element if ( !this.isOpen ) { @@ -306,7 +297,11 @@ $.widget( "ui.selectmenu", { }, _getSelectedItem: function() { - return this.menu.find( "li" ).not( '.ui-selectmenu-optgroup' ).eq( this.element[0].selectedIndex ); + return this._getItems().eq( this.element[0].selectedIndex ); + }, + + _getItems: function() { + return this.menu.find( "li" ).not( '.ui-selectmenu-optgroup' ); }, _toggle: function( event ) { @@ -360,6 +355,7 @@ $.widget( "ui.selectmenu", { break; case $.ui.keyCode.HOME: case $.ui.keyCode.PAGE_UP: + console.log("test"); this._move( "first", event ); break; case $.ui.keyCode.END: @@ -376,9 +372,14 @@ $.widget( "ui.selectmenu", { } }, - _setIndex: function( index ) { - this.element[0].selectedIndex = index; - this.button.button( "option", "label", this.items[ index ].label ); + _setSelected: function() { + var item = this._getSelectedItem().find("a"); + // update button text + this.button.button( "option", "label", item.text() ); + // change ARIA attr + this.button.add( this.menu ).attr( "aria-activedescendant" , item.attr( "id" ) ); + this._getItems().find("a").attr( "aria-selected", false ); + item.attr( "aria-selected", true ); }, _setOption: function( key, value ) { -- cgit v1.2.3 From 30211901a809a3efc19af208f2bcea61e583c61a Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Wed, 25 Jan 2012 22:30:18 +0100 Subject: Selectmenu: removed space from file name --- tests/visual/selectmenu/compatibility .html | 121 ---------------------------- tests/visual/selectmenu/compatibility.html | 121 ++++++++++++++++++++++++++++ 2 files changed, 121 insertions(+), 121 deletions(-) delete mode 100644 tests/visual/selectmenu/compatibility .html create mode 100644 tests/visual/selectmenu/compatibility.html (limited to 'tests') diff --git a/tests/visual/selectmenu/compatibility .html b/tests/visual/selectmenu/compatibility .html deleted file mode 100644 index a99a629df..000000000 --- a/tests/visual/selectmenu/compatibility .html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - jQuery UI Selectmenu - Compatibility with other widgets - - - - - - - - - - - - - - - - - -
    - -
    - - -
    - -
    - -
    -

    Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.

    -
    -
    -
    -
    - - -
    -
    -
    -
    -

    Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.

    -

    Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.

    -
    -
    - -
    -

    Some example content

    -

    Test Link

    -
    -
    - - -
    -
    -
    - -
    - - - - - diff --git a/tests/visual/selectmenu/compatibility.html b/tests/visual/selectmenu/compatibility.html new file mode 100644 index 000000000..a99a629df --- /dev/null +++ b/tests/visual/selectmenu/compatibility.html @@ -0,0 +1,121 @@ + + + + + jQuery UI Selectmenu - Compatibility with other widgets + + + + + + + + + + + + + + + + + +
    + +
    + + +
    + +
    + +
    +

    Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.

    +
    +
    +
    +
    + + +
    +
    +
    +
    +

    Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.

    +

    Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.

    +
    +
    + +
    +

    Some example content

    +

    Test Link

    +
    +
    + + +
    +
    +
    + +
    + + + + + -- cgit v1.2.3 From 51bd6f8927adf4f467db8a7b33dd5418769d77b7 Mon Sep 17 00:00:00 2001 From: Jörn Zaefferer Date: Tue, 21 Feb 2012 18:08:14 +0100 Subject: Selectmenu: Unit tests whitespace and linting/cleanup --- tests/unit/selectmenu/selectmenu_core.js | 20 +++++------ tests/unit/selectmenu/selectmenu_events.js | 2 +- tests/unit/selectmenu/selectmenu_methods.js | 56 ++++++++++++++--------------- tests/unit/selectmenu/selectmenu_options.js | 14 ++++---- 4 files changed, 46 insertions(+), 46 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index d3b2bfa81..c6dff8a74 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -11,17 +11,17 @@ test("accessibility", function () { selected = element.find("option:selected"), ul = menu.children("ul"), links = ul.find("li.ui-menu-item a"); - + expect(13 + links.length * 2); - + equals( link.attr("role"), "combobox", "button link role" ); equals( link.attr("aria-haspopup"), "true", "button link aria-haspopup" ); equals( link.attr("aria-expanded"), "false", "button link aria-expanded" ); equals( link.attr("aria-autocomplete"), "list", "button link aria-autocomplete" ); equals( link.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "button link aria-activedescendant" ); equals( link.attr("aria-owns"), ul.attr("id"), "button link aria-owns" ); - equals( link.attr("tabindex"), 0, "button link tabindex" ); - + equals( link.attr("tabindex"), 0, "button link tabindex" ); + equals( ul.attr("role"), "listbox", "menu role" ); equals( ul.attr("aria-labelledby"), link.attr("id"), "menu aria-labelledby" ); equals( ul.attr("aria-hidden"), "true", "menu aria-hidden" ); @@ -47,7 +47,7 @@ $.each([ ], function( i, settings ) { test("state synchronization - " + settings.type, function () { expect(10); - + var element = $(settings.selector).selectmenu(), widget = element.selectmenu("widget"), button = widget.filter(".ui-selectmenu-button"), @@ -56,20 +56,20 @@ $.each([ ul = menu.children("ul"), links = ul.find("li.ui-menu-item a"), selected = element.find("option:selected"); - - link.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); + + link.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); equals( ul.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after keydown menu aria-activedescendant" ); equals( link.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after keydown button link aria-activedescendant" ); equals( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "after keydown selected menu link aria-selected" ); - equals( element.find("option:selected").val(), selected.next("option").val() , "after keydown original select state" ); + equals( element.find("option:selected").val(), selected.next("option").val() , "after keydown original select state" ); equals( button.text(), selected.next("option").text(), "after keydown button text" ); - + link.simulate( "click" ); menu.find("a").last().simulate( "mouseover" ).trigger( "click" ); equals( ul.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after click menu aria-activedescendant" ); equals( link.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after click button link aria-activedescendant" ); equals( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "after click selected menu link aria-selected" ); - equals( element.find("option:selected").val(), element.find("option").last().val(), "after click original select state" ); + equals( element.find("option:selected").val(), element.find("option").last().val(), "after click original select state" ); equals( button.text(), element.find("option").last().text(), "after click button text" ); }); }); diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index 92dc6f01a..b5adbc0f5 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -15,7 +15,7 @@ test("change", function () { equals(event.type, "selectmenuchange", "event type set to selectmenuchange"); ok(ui, "ui object is passed as second argument to event handler"); equals(ui.item.element[0].nodeName, "OPTION", "ui.item.element[0] points to original option element"); - equals(ui.item.value, value, "ui.item.value property updated correctly"); + equals(ui.item.value, value, "ui.item.value property updated correctly"); } }); diff --git a/tests/unit/selectmenu/selectmenu_methods.js b/tests/unit/selectmenu/selectmenu_methods.js index 47e76053d..942ab9e7b 100644 --- a/tests/unit/selectmenu/selectmenu_methods.js +++ b/tests/unit/selectmenu/selectmenu_methods.js @@ -12,16 +12,16 @@ test( "destroy", function() { test( "open / close", function() { expect( 4 ); - + var element = $('#speed').selectmenu(), widget = element.selectmenu("widget"), button = widget.filter(".ui-selectmenu-button"), menu = widget.filter(".ui-selectmenu-menu"); - + element.selectmenu("open"); ok( menu.is( ":visible" ), "menu visible" ); equals( menu.find("ul").attr("aria-hidden"), "false", "menu aria-disabled" ); - + element.selectmenu("close"); ok( menu.is( ":hidden" ), "menu hidden" ); equals( menu.find("ul").attr("aria-hidden"), "true", "menu aria-disabled" ); @@ -30,14 +30,14 @@ test( "open / close", function() { test("enable / disable", function () { expect(14); - + var element = $('#speed').selectmenu(), widget = element.selectmenu("widget"), button = widget.filter(".ui-selectmenu-button"), menu = widget.filter(".ui-selectmenu-menu"), link = button.find("a"); - - element.selectmenu("disable") + + element.selectmenu("disable"); ok( element.selectmenu("option", "disabled"), "disable: widget option" ); equals( element.attr("disabled"), "disabled", "disable: native select disabled" ); equals( button.attr("aria-disabled"), "true", "disable: button wrapper ARIA" ); @@ -45,8 +45,8 @@ test("enable / disable", function () { equals( link.attr("tabindex"), -1, "disable: button tabindex" ); equals( menu.attr("aria-disabled"), "true", "disable: menu wrapper ARIA" ); equals( menu.children("ul").attr("aria-disabled"), "true", "disable: menu ARIA" ); - - element.selectmenu("enable") + + element.selectmenu("enable"); ok( !element.selectmenu("option", "disabled"), "enable: widget option" ); equals( element.attr("disabled"), undefined, "enable: native select disabled" ); equals( button.attr("aria-disabled"), "false", "enable: button wrapper ARIA" ); @@ -59,12 +59,12 @@ test("enable / disable", function () { test("refresh - structure", function () { expect(3); - + var element = $('#speed').selectmenu(), widget = element.selectmenu("widget"), button = widget.filter(".ui-selectmenu-button"), menu = widget.filter(".ui-selectmenu-menu"); - + element.find("option").eq(2).remove(); element.find("option").eq(3).remove(); element.append(''); @@ -72,24 +72,24 @@ test("refresh - structure", function () { .attr("value", "changed_value") .text("Changed value"); element.selectmenu("refresh"); - - equals( element.find("option").length, menu.find("li").not(".ui-selectmenu-optgroup").length, "menu item length" ); - equals( element.find("option").last().text(), menu.find("li").not(".ui-selectmenu-optgroup").last().text(), "added item" ); + + equals( element.find("option").length, menu.find("li").not(".ui-selectmenu-optgroup").length, "menu item length" ); + equals( element.find("option").last().text(), menu.find("li").not(".ui-selectmenu-optgroup").last().text(), "added item" ); equals( element.find("option").first().text(), menu.find("li").not(".ui-selectmenu-optgroup").first().text(), "chnaged item" ); }); test("refresh - disabled select", function () { expect(6); - + var element = $('#speed').selectmenu(), widget = element.selectmenu("widget"), button = widget.filter(".ui-selectmenu-button"), menu = widget.filter(".ui-selectmenu-menu"); - + element.attr("disabled", "disabled"); element.selectmenu("refresh"); - + ok( element.selectmenu("option", "disabled"), "widget option" ); equals( button.attr("aria-disabled"), "true", "button wrapper ARIA" ); equals( button.children("a").attr("aria-disabled"), "true", "button ARIA" ); @@ -101,39 +101,39 @@ test("refresh - disabled select", function () { test("refresh - disabled option", function () { expect(2); - + var element = $('#speed').selectmenu(), widget = element.selectmenu("widget"), button = widget.filter(".ui-selectmenu-button"), menu = widget.filter(".ui-selectmenu-menu"); - + element.attr("disabled", "disabled"); element.find("option").eq(2).attr("disabled", "disabled"); element.selectmenu("refresh"); - - var disabledItem = menu.find("li").not(".ui-selectmenu-optgroup").eq(2); + + var disabledItem = menu.find("li").not(".ui-selectmenu-optgroup").eq(2); ok( disabledItem.hasClass("ui-state-disabled"), "class" ); ok( disabledItem.children("a").length <= 0, "has no link" ); }); - - + + test("refresh - disabled optgroup", function () { - + var element = $('#files').selectmenu(), widget = element.selectmenu("widget"), button = widget.filter(".ui-selectmenu-button"), - menu = widget.filter(".ui-selectmenu-menu"); + menu = widget.filter(".ui-selectmenu-menu"), originalDisabledOptgroup = element.find("optgroup").first(), originalDisabledOptions = originalDisabledOptgroup.find("option"); - + expect(2 + originalDisabledOptions.length * 2); - + originalDisabledOptgroup.attr("disabled", "disabled"); element.selectmenu("refresh"); - + var item = menu.find("li.ui-selectmenu-optgroup").first(); ok( item.hasClass("ui-state-disabled"), "class" ); - + equals( menu.find("li").not(".ui-selectmenu-optgroup").filter(".ui-state-disabled").length, originalDisabledOptions.length, "disabled options" ); for ( var i = 0; i < originalDisabledOptions.length; i++ ) { item = item.next("li"); diff --git a/tests/unit/selectmenu/selectmenu_options.js b/tests/unit/selectmenu/selectmenu_options.js index 993086b27..d5a787455 100644 --- a/tests/unit/selectmenu/selectmenu_options.js +++ b/tests/unit/selectmenu/selectmenu_options.js @@ -16,22 +16,22 @@ test("appendTo another element", function () { test("dropdown: CSS styles", function () { expect(4); - + var widget = this.element.selectmenu("widget"), button = widget.filter(".ui-selectmenu-button"), link = button.find("a"), menu = widget.filter(".ui-selectmenu-menu"), ul = widget.find("ul"); - this.element.selectmenu("open"); - ok( link.hasClass("ui-corner-top") && !link.hasClass("ui-corner-all"), "button styles dropdown"); - ok( ul.hasClass("ui-corner-bottom") && !ul.hasClass("ui-corner-all"), "menu styles dropdown"); - + this.element.selectmenu("open"); + ok( link.hasClass("ui-corner-top") && !link.hasClass("ui-corner-all"), "button styles dropdown"); + ok( ul.hasClass("ui-corner-bottom") && !ul.hasClass("ui-corner-all"), "menu styles dropdown"); + this.element.selectmenu("close"); this.element.selectmenu("option", "dropdown", false); this.element.selectmenu("open"); - ok( !link.hasClass("ui-corner-top") && link.hasClass("ui-corner-all"), "button styles pop-up"); - ok( !ul.hasClass("ui-corner-bottom") && ul.hasClass("ui-corner-all"), "menu styles pop-up"); + ok( !link.hasClass("ui-corner-top") && link.hasClass("ui-corner-all"), "button styles pop-up"); + ok( !ul.hasClass("ui-corner-bottom") && ul.hasClass("ui-corner-all"), "menu styles pop-up"); }); })(jQuery); -- cgit v1.2.3 From 59d15809a3c621ee20ea28ecfeed0d57e085420f Mon Sep 17 00:00:00 2001 From: Jörn Zaefferer Date: Tue, 21 Feb 2012 20:22:13 +0100 Subject: Selectmenu: Introduce menuWidget method, to get access to the menu element. Fix various tests and simplify demos accordingly. Add comment about optgroup-click-handling. --- demos/selectmenu/custom_render.html | 6 ++-- demos/selectmenu/default.html | 4 +-- tests/unit/selectmenu/selectmenu_core.js | 17 ++++------- tests/unit/selectmenu/selectmenu_events.js | 15 ++++------ tests/unit/selectmenu/selectmenu_methods.js | 45 ++++++++++------------------- tests/unit/selectmenu/selectmenu_options.js | 8 ++--- tests/visual/selectmenu/disabled.html | 5 ++-- ui/jquery.ui.selectmenu.js | 8 ++++- 8 files changed, 45 insertions(+), 63 deletions(-) (limited to 'tests') diff --git a/demos/selectmenu/custom_render.html b/demos/selectmenu/custom_render.html index 7e69dc3e1..2e775084c 100644 --- a/demos/selectmenu/custom_render.html +++ b/demos/selectmenu/custom_render.html @@ -36,15 +36,15 @@ var files = $('select#files').iconselectmenu({ dropdown: false }); - files.iconselectmenu("widget").children("ul").addClass("ui-menu-icons"); + files.iconselectmenu("menuWidget").addClass("ui-menu-icons"); var filesB = $('select#filesB').iconselectmenu({ dropdown: false }); - filesB.iconselectmenu("widget").children("ul").addClass("ui-menu-icons customicons"); + filesB.iconselectmenu("menuWidget").addClass("ui-menu-icons customicons"); var peopleA = $('select#peopleA').iconselectmenu(); - peopleA.iconselectmenu("widget").children("ul").addClass("ui-menu-icons avatar"); + peopleA.iconselectmenu("menuWidget").addClass("ui-menu-icons avatar"); }); diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index c6dff8a74..4fabdc15f 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -4,21 +4,19 @@ module( "selectmenu: core" ); test("accessibility", function () { var element = $('#speed').selectmenu(), - widget = element.selectmenu("widget"), - button = widget.filter(".ui-selectmenu-button"), - menu = widget.filter(".ui-selectmenu-menu"), + button = element.selectmenu("widget").parent(), + menu = element.selectmenu("menuWidget").parent(), link = button.find("a"), selected = element.find("option:selected"), ul = menu.children("ul"), links = ul.find("li.ui-menu-item a"); - expect(13 + links.length * 2); + expect(12 + links.length * 2); equals( link.attr("role"), "combobox", "button link role" ); equals( link.attr("aria-haspopup"), "true", "button link aria-haspopup" ); equals( link.attr("aria-expanded"), "false", "button link aria-expanded" ); equals( link.attr("aria-autocomplete"), "list", "button link aria-autocomplete" ); - equals( link.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "button link aria-activedescendant" ); equals( link.attr("aria-owns"), ul.attr("id"), "button link aria-owns" ); equals( link.attr("tabindex"), 0, "button link tabindex" ); @@ -46,12 +44,11 @@ $.each([ } ], function( i, settings ) { test("state synchronization - " + settings.type, function () { - expect(10); + expect(8); var element = $(settings.selector).selectmenu(), - widget = element.selectmenu("widget"), - button = widget.filter(".ui-selectmenu-button"), - menu = widget.filter(".ui-selectmenu-menu"), + button = element.selectmenu("widget").parent(), + menu = element.selectmenu("menuWidget").parent(), link = button.find("a"), ul = menu.children("ul"), links = ul.find("li.ui-menu-item a"), @@ -59,7 +56,6 @@ $.each([ link.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); equals( ul.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after keydown menu aria-activedescendant" ); - equals( link.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after keydown button link aria-activedescendant" ); equals( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "after keydown selected menu link aria-selected" ); equals( element.find("option:selected").val(), selected.next("option").val() , "after keydown original select state" ); equals( button.text(), selected.next("option").text(), "after keydown button text" ); @@ -67,7 +63,6 @@ $.each([ link.simulate( "click" ); menu.find("a").last().simulate( "mouseover" ).trigger( "click" ); equals( ul.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after click menu aria-activedescendant" ); - equals( link.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after click button link aria-activedescendant" ); equals( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "after click selected menu link aria-selected" ); equals( element.find("option:selected").val(), element.find("option").last().val(), "after click original select state" ); equals( button.text(), element.find("option").last().text(), "after click button text" ); diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index b5adbc0f5..dcc7c71c7 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -19,9 +19,8 @@ test("change", function () { } }); - var widget = this.element.selectmenu("widget"), - menu = widget.filter(".ui-selectmenu-menu"), - button = widget.filter(".ui-selectmenu-button"), + var button = this.element.selectmenu("widget").parent(), + menu = this.element.selectmenu("menuWidget").parent(), value = this.element.find("option").first().text(); button.find("a").simulate( "click" ); @@ -61,9 +60,8 @@ test("focus", function () { } }); - var widget = this.element.selectmenu("widget"), - button = widget.filter(".ui-selectmenu-button"), - menu = widget.filter(".ui-selectmenu-menu"); + var button = this.element.selectmenu("widget").parent(), + menu = this.element.selectmenu("menuWidget").parent(); button.find("a").simulate( "click" ); menu.find(".ui-menu-item").simulate("mouseover"); @@ -97,9 +95,8 @@ test("select", function () { } }); - var widget = this.element.selectmenu("widget"), - button = widget.filter(".ui-selectmenu-button"), - menu = widget.filter(".ui-selectmenu-menu"); + var button = this.element.selectmenu("widget").parent(), + menu = this.element.selectmenu("menuWidget").parent(); button.find("a").simulate( "click" ); menu.find("a").first().simulate( "mouseover" ).trigger("click"); diff --git a/tests/unit/selectmenu/selectmenu_methods.js b/tests/unit/selectmenu/selectmenu_methods.js index 942ab9e7b..bd94068a7 100644 --- a/tests/unit/selectmenu/selectmenu_methods.js +++ b/tests/unit/selectmenu/selectmenu_methods.js @@ -14,9 +14,8 @@ test( "open / close", function() { expect( 4 ); var element = $('#speed').selectmenu(), - widget = element.selectmenu("widget"), - button = widget.filter(".ui-selectmenu-button"), - menu = widget.filter(".ui-selectmenu-menu"); + button = element.selectmenu("widget").parent(), + menu = element.selectmenu("menuWidget").parent(); element.selectmenu("open"); ok( menu.is( ":visible" ), "menu visible" ); @@ -29,31 +28,26 @@ test( "open / close", function() { test("enable / disable", function () { - expect(14); + expect(10); var element = $('#speed').selectmenu(), - widget = element.selectmenu("widget"), - button = widget.filter(".ui-selectmenu-button"), - menu = widget.filter(".ui-selectmenu-menu"), + button = element.selectmenu("widget"), + menu = element.selectmenu("menuWidget"), link = button.find("a"); element.selectmenu("disable"); ok( element.selectmenu("option", "disabled"), "disable: widget option" ); equals( element.attr("disabled"), "disabled", "disable: native select disabled" ); equals( button.attr("aria-disabled"), "true", "disable: button wrapper ARIA" ); - equals( link.attr("aria-disabled"), "true", "disable: button ARIA" ); - equals( link.attr("tabindex"), -1, "disable: button tabindex" ); + equals( button.attr("tabindex"), -1, "disable: button tabindex" ); equals( menu.attr("aria-disabled"), "true", "disable: menu wrapper ARIA" ); - equals( menu.children("ul").attr("aria-disabled"), "true", "disable: menu ARIA" ); element.selectmenu("enable"); ok( !element.selectmenu("option", "disabled"), "enable: widget option" ); equals( element.attr("disabled"), undefined, "enable: native select disabled" ); equals( button.attr("aria-disabled"), "false", "enable: button wrapper ARIA" ); - equals( link.attr("aria-disabled"), "false", "enable: button ARIA" ); - equals( link.attr("tabindex"), 0, "enable: button tabindex" ); + equals( button.attr("tabindex"), 0, "enable: button tabindex" ); equals( menu.attr("aria-disabled"), "false", "enable: menu wrapper ARIA" ); - equals( menu.children("ul").attr("aria-disabled"), "false", "enable: menu ARIA" ); }); @@ -61,9 +55,7 @@ test("refresh - structure", function () { expect(3); var element = $('#speed').selectmenu(), - widget = element.selectmenu("widget"), - button = widget.filter(".ui-selectmenu-button"), - menu = widget.filter(".ui-selectmenu-menu"); + menu = element.selectmenu("menuWidget").parent(); element.find("option").eq(2).remove(); element.find("option").eq(3).remove(); @@ -80,22 +72,19 @@ test("refresh - structure", function () { test("refresh - disabled select", function () { - expect(6); + expect(4); var element = $('#speed').selectmenu(), - widget = element.selectmenu("widget"), - button = widget.filter(".ui-selectmenu-button"), - menu = widget.filter(".ui-selectmenu-menu"); + button = element.selectmenu("widget"), + menu = element.selectmenu("menuWidget"); element.attr("disabled", "disabled"); element.selectmenu("refresh"); ok( element.selectmenu("option", "disabled"), "widget option" ); equals( button.attr("aria-disabled"), "true", "button wrapper ARIA" ); - equals( button.children("a").attr("aria-disabled"), "true", "button ARIA" ); - equals( button.children("a").attr("tabindex"), -1, "button tabindex" ); + equals( button.attr("tabindex"), -1, "button tabindex" ); equals( menu.attr("aria-disabled"), "true", "menu wrapper ARIA" ); - equals( menu.children("ul").attr("aria-disabled"), "true", "mene ARIA" ); }); @@ -103,9 +92,8 @@ test("refresh - disabled option", function () { expect(2); var element = $('#speed').selectmenu(), - widget = element.selectmenu("widget"), - button = widget.filter(".ui-selectmenu-button"), - menu = widget.filter(".ui-selectmenu-menu"); + button = element.selectmenu("widget").parent(), + menu = element.selectmenu("menuWidget").parent(); element.attr("disabled", "disabled"); element.find("option").eq(2).attr("disabled", "disabled"); @@ -120,9 +108,8 @@ test("refresh - disabled option", function () { test("refresh - disabled optgroup", function () { var element = $('#files').selectmenu(), - widget = element.selectmenu("widget"), - button = widget.filter(".ui-selectmenu-button"), - menu = widget.filter(".ui-selectmenu-menu"), + button = element.selectmenu("widget").parent(), + menu = element.selectmenu("menuWidget").parent(), originalDisabledOptgroup = element.find("optgroup").first(), originalDisabledOptions = originalDisabledOptgroup.find("option"); diff --git a/tests/unit/selectmenu/selectmenu_options.js b/tests/unit/selectmenu/selectmenu_options.js index d5a787455..2271df167 100644 --- a/tests/unit/selectmenu/selectmenu_options.js +++ b/tests/unit/selectmenu/selectmenu_options.js @@ -17,11 +17,9 @@ test("appendTo another element", function () { test("dropdown: CSS styles", function () { expect(4); - var widget = this.element.selectmenu("widget"), - button = widget.filter(".ui-selectmenu-button"), - link = button.find("a"), - menu = widget.filter(".ui-selectmenu-menu"), - ul = widget.find("ul"); + var button = this.element.selectmenu("widget").parent(), + ul = this.element.selectmenu("menuWidget"), + link = button.find("a"); this.element.selectmenu("open"); ok( link.hasClass("ui-corner-top") && !link.hasClass("ui-corner-all"), "button styles dropdown"); diff --git a/tests/visual/selectmenu/disabled.html b/tests/visual/selectmenu/disabled.html index e2bc436ac..b74b93530 100644 --- a/tests/visual/selectmenu/disabled.html +++ b/tests/visual/selectmenu/disabled.html @@ -20,7 +20,7 @@ var withOverflow = $('select#number').selectmenu({ dropdown: false }); - withOverflow.selectmenu("widget").addClass("overflow"); + withOverflow.selectmenu("menuWidget").addClass("overflow"); $('select#files').selectmenu(); var files2 = $('select#files2').selectmenu(); @@ -43,7 +43,6 @@ }, function() { files2.find("optgroup:eq(0)").removeAttr("disabled"); files2.selectmenu("refresh"); - }); }); @@ -52,7 +51,7 @@ fieldset { border: 0; } label { display: block; } select { width: 200px; } - .overflow ul { height: 200px; overflow: auto; } + .overflow { height: 200px; overflow: auto; } diff --git a/ui/jquery.ui.selectmenu.js b/ui/jquery.ui.selectmenu.js index cedfc1f4a..193cd01f9 100644 --- a/ui/jquery.ui.selectmenu.js +++ b/ui/jquery.ui.selectmenu.js @@ -248,7 +248,11 @@ $.widget( "ui.selectmenu", { }, widget: function() { - return this.buttonWrap.add( this.menuWrap ); + return this.button; + }, + + menuWidget: function() { + return this.menu; }, _renderMenu: function( ul, items ) { @@ -260,6 +264,8 @@ $.widget( "ui.selectmenu", { var optgroup = $( '
  1. ', { 'class': 'ui-selectmenu-optgroup', html: item.optgroup, + // prevents clicks on this header to close the menu + // TODO try to improve this, check how autocomplete handles it click: function( event ){ event.stopPropagation(); } -- cgit v1.2.3 From 52e43c076fc92c88d7a5ea5f101e7d7a9922afea Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Tue, 21 Feb 2012 23:41:00 +0100 Subject: Selectmenu: re-enabled lazy loading of the menu items (menu refresh) --- tests/unit/selectmenu/selectmenu_core.js | 10 +++++++--- tests/unit/selectmenu/selectmenu_events.js | 6 +++--- ui/jquery.ui.selectmenu.js | 10 +++++++--- 3 files changed, 17 insertions(+), 9 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 4fabdc15f..d9b37e234 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -8,8 +8,10 @@ test("accessibility", function () { menu = element.selectmenu("menuWidget").parent(), link = button.find("a"), selected = element.find("option:selected"), - ul = menu.children("ul"), - links = ul.find("li.ui-menu-item a"); + ul = menu.children("ul"); + + link.simulate( "focus" ); + var links = ul.find("li.ui-menu-item a"); expect(12 + links.length * 2); @@ -51,9 +53,11 @@ $.each([ menu = element.selectmenu("menuWidget").parent(), link = button.find("a"), ul = menu.children("ul"), - links = ul.find("li.ui-menu-item a"), selected = element.find("option:selected"); + link.simulate( "focus" ) + var links = ul.find("li.ui-menu-item a"); + link.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); equals( ul.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after keydown menu aria-activedescendant" ); equals( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "after keydown selected menu link aria-selected" ); diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index dcc7c71c7..9e8629f5b 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -23,7 +23,7 @@ test("change", function () { menu = this.element.selectmenu("menuWidget").parent(), value = this.element.find("option").first().text(); - button.find("a").simulate( "click" ); + button.find("a").simulate( "focus" ).simulate( "click" ); menu.find("a").first().simulate( "mouseover" ).trigger( "click" ); }); @@ -63,7 +63,7 @@ test("focus", function () { var button = this.element.selectmenu("widget").parent(), menu = this.element.selectmenu("menuWidget").parent(); - button.find("a").simulate( "click" ); + button.find("a").simulate( "focus" ).simulate( "click" ); menu.find(".ui-menu-item").simulate("mouseover"); }); @@ -98,7 +98,7 @@ test("select", function () { var button = this.element.selectmenu("widget").parent(), menu = this.element.selectmenu("menuWidget").parent(); - button.find("a").simulate( "click" ); + button.find("a").simulate( "focus" ).simulate( "click" ); menu.find("a").first().simulate( "mouseover" ).trigger("click"); }); diff --git a/ui/jquery.ui.selectmenu.js b/ui/jquery.ui.selectmenu.js index 3e5f0816a..5dfd6af75 100644 --- a/ui/jquery.ui.selectmenu.js +++ b/ui/jquery.ui.selectmenu.js @@ -54,7 +54,6 @@ $.widget( "ui.selectmenu", { this._bind( this.button, this._buttonEvents ); this._drawMenu(); - this.refresh(); if ( this.options.disabled ) { this.disable(); @@ -70,7 +69,7 @@ $.widget( "ui.selectmenu", { // create button this.button = $( '', { href: '#' + this.ids.id, - html: ' ', + html: this.element.find( "option:selected" ).text() || ' ', tabindex: ( tabindex ? tabindex : this.options.disabled ? -1 : 0 ), id: this.ids.button, width: this.element.outerWidth(), @@ -316,6 +315,11 @@ $.widget( "ui.selectmenu", { }, _buttonEvents: { + focus: function( event ) { + // init Menu on first focus + this.refresh(); + this.button.unbind( "focus." + this.widgetName ); + }, click: function( event ) { this._toggle( event ); event.preventDefault(); @@ -389,7 +393,7 @@ $.widget( "ui.selectmenu", { _setSelected: function( item ) { var link = this._getSelectedItem().find("a"); // update button text - this.button.button( "option", "label", item.label ); + this.button.find( "span.ui-button-text" ).html( item.label ); // change ARIA attr this.button.add( this.menu ).attr( "aria-activedescendant" , link.attr( "id" ) ); this.menuItems.find("a").attr( "aria-selected", false ); -- cgit v1.2.3 From afcdd6a75cb4c8e1e74b84ccfbdb543b35342337 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Wed, 22 Feb 2012 00:09:44 +0100 Subject: Selectmenu: cleanup unit tests, removing mass test --- tests/unit/selectmenu/selectmenu_core.js | 65 +++++++++++------------------ tests/unit/selectmenu/selectmenu_methods.js | 3 +- 2 files changed, 26 insertions(+), 42 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index d9b37e234..53872a980 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -4,29 +4,27 @@ module( "selectmenu: core" ); test("accessibility", function () { var element = $('#speed').selectmenu(), - button = element.selectmenu("widget").parent(), - menu = element.selectmenu("menuWidget").parent(), - link = button.find("a"), - selected = element.find("option:selected"), - ul = menu.children("ul"); + button = element.selectmenu("widget"), + menu = element.selectmenu("menuWidget"), + selected = element.find("option:selected"); - link.simulate( "focus" ); - var links = ul.find("li.ui-menu-item a"); + button.simulate( "focus" ); + var links = menu.find("li.ui-menu-item a"); expect(12 + links.length * 2); - equals( link.attr("role"), "combobox", "button link role" ); - equals( link.attr("aria-haspopup"), "true", "button link aria-haspopup" ); - equals( link.attr("aria-expanded"), "false", "button link aria-expanded" ); - equals( link.attr("aria-autocomplete"), "list", "button link aria-autocomplete" ); - equals( link.attr("aria-owns"), ul.attr("id"), "button link aria-owns" ); - equals( link.attr("tabindex"), 0, "button link tabindex" ); - - equals( ul.attr("role"), "listbox", "menu role" ); - equals( ul.attr("aria-labelledby"), link.attr("id"), "menu aria-labelledby" ); - equals( ul.attr("aria-hidden"), "true", "menu aria-hidden" ); - equals( ul.attr("tabindex"), 0, "menu tabindex" ); - equals( ul.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "menu aria-activedescendant" ); + equals( button.attr("role"), "combobox", "button link role" ); + equals( button.attr("aria-haspopup"), "true", "button link aria-haspopup" ); + equals( button.attr("aria-expanded"), "false", "button link aria-expanded" ); + equals( button.attr("aria-autocomplete"), "list", "button link aria-autocomplete" ); + equals( button.attr("aria-owns"), menu.attr("id"), "button link aria-owns" ); + equals( button.attr("tabindex"), 0, "button link tabindex" ); + + equals( menu.attr("role"), "listbox", "menu role" ); + equals( menu.attr("aria-labelledby"), button.attr("id"), "menu aria-labelledby" ); + equals( menu.attr("aria-hidden"), "true", "menu aria-hidden" ); + equals( menu.attr("tabindex"), 0, "menu tabindex" ); + equals( menu.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "menu aria-activedescendant" ); $.each( links, function(index){ equals( $(this).attr("role"), "option", "menu link #" + index +" role" ); equals( $(this).attr("tabindex"), -1, "menu link #" + index +" tabindex" ); @@ -49,39 +47,26 @@ $.each([ expect(8); var element = $(settings.selector).selectmenu(), - button = element.selectmenu("widget").parent(), - menu = element.selectmenu("menuWidget").parent(), - link = button.find("a"), - ul = menu.children("ul"), + button = element.selectmenu("widget"), + menu = element.selectmenu("menuWidget"), selected = element.find("option:selected"); - link.simulate( "focus" ) - var links = ul.find("li.ui-menu-item a"); + button.simulate( "focus" ) + var links = menu.find("li.ui-menu-item a"); - link.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); - equals( ul.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after keydown menu aria-activedescendant" ); + button.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); + equals( menu.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after keydown menu aria-activedescendant" ); equals( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "after keydown selected menu link aria-selected" ); equals( element.find("option:selected").val(), selected.next("option").val() , "after keydown original select state" ); equals( button.text(), selected.next("option").text(), "after keydown button text" ); - link.simulate( "click" ); + button.simulate( "click" ); menu.find("a").last().simulate( "mouseover" ).trigger( "click" ); - equals( ul.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after click menu aria-activedescendant" ); + equals( menu.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after click menu aria-activedescendant" ); equals( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "after click selected menu link aria-selected" ); equals( element.find("option:selected").val(), element.find("option").last().val(), "after click original select state" ); equals( button.text(), element.find("option").last().text(), "after click button text" ); }); }); - -// test("mass", function () { - // for (var i = 0; i < 100; i++) { - // var element = $('#speed').selectmenu(); - // var widget = element.selectmenu("destroy"); - // expect(0); - // } -// }); - - - })( jQuery ); diff --git a/tests/unit/selectmenu/selectmenu_methods.js b/tests/unit/selectmenu/selectmenu_methods.js index bd94068a7..960f855b4 100644 --- a/tests/unit/selectmenu/selectmenu_methods.js +++ b/tests/unit/selectmenu/selectmenu_methods.js @@ -32,8 +32,7 @@ test("enable / disable", function () { var element = $('#speed').selectmenu(), button = element.selectmenu("widget"), - menu = element.selectmenu("menuWidget"), - link = button.find("a"); + menu = element.selectmenu("menuWidget"); element.selectmenu("disable"); ok( element.selectmenu("option", "disabled"), "disable: widget option" ); -- cgit v1.2.3 From af0d520704b11977f10c0b40043298330497845a Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Wed, 22 Feb 2012 00:22:08 +0100 Subject: Selectmenu: merge themeswitcher with compatibility visual test --- tests/visual/selectmenu/compatibility.html | 9 ++- tests/visual/selectmenu/themeswitcher.html | 104 ----------------------------- 2 files changed, 8 insertions(+), 105 deletions(-) delete mode 100644 tests/visual/selectmenu/themeswitcher.html (limited to 'tests') diff --git a/tests/visual/selectmenu/compatibility.html b/tests/visual/selectmenu/compatibility.html index a99a629df..3629243a3 100644 --- a/tests/visual/selectmenu/compatibility.html +++ b/tests/visual/selectmenu/compatibility.html @@ -115,7 +115,14 @@
  2. - + + diff --git a/tests/visual/selectmenu/themeswitcher.html b/tests/visual/selectmenu/themeswitcher.html deleted file mode 100644 index c533fc4ae..000000000 --- a/tests/visual/selectmenu/themeswitcher.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - jQuery UI Selectmenu - Themeswitcher functionality - - - - - - - - - - - - - - -
    - -
    -
    - - -
    -
    -
    - - -
    -
    -
    - - -
    -
    - -
    - - - - - - - -- cgit v1.2.3 From 6957f9f32fff980d3d1485dfe0a1d4b102ce66c3 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 23 Feb 2012 22:55:41 +0100 Subject: Selectmenu: fixed small typo --- tests/unit/selectmenu/selectmenu_methods.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_methods.js b/tests/unit/selectmenu/selectmenu_methods.js index 960f855b4..3d59584a6 100644 --- a/tests/unit/selectmenu/selectmenu_methods.js +++ b/tests/unit/selectmenu/selectmenu_methods.js @@ -66,7 +66,7 @@ test("refresh - structure", function () { equals( element.find("option").length, menu.find("li").not(".ui-selectmenu-optgroup").length, "menu item length" ); equals( element.find("option").last().text(), menu.find("li").not(".ui-selectmenu-optgroup").last().text(), "added item" ); - equals( element.find("option").first().text(), menu.find("li").not(".ui-selectmenu-optgroup").first().text(), "chnaged item" ); + equals( element.find("option").first().text(), menu.find("li").not(".ui-selectmenu-optgroup").first().text(), "changed item" ); }); -- cgit v1.2.3 From 29effb38eb04ae1cf779c96edd36e90c56438127 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 23 Feb 2012 23:25:03 +0100 Subject: Selectmenu: removed Button widget dependency --- demos/selectmenu/custom_render.html | 1 - demos/selectmenu/default.html | 1 - tests/unit/selectmenu/selectmenu.html | 2 -- tests/visual/selectmenu/compatibility.html | 1 - tests/visual/selectmenu/disabled.html | 1 - tests/visual/selectmenu/events.html | 1 - tests/visual/selectmenu/methods.html | 1 - themes/base/jquery.ui.selectmenu.css | 5 ++-- ui/jquery.ui.selectmenu.js | 41 +++++++++++++++--------------- 9 files changed, 22 insertions(+), 32 deletions(-) (limited to 'tests') diff --git a/demos/selectmenu/custom_render.html b/demos/selectmenu/custom_render.html index 2e775084c..39d1534de 100644 --- a/demos/selectmenu/custom_render.html +++ b/demos/selectmenu/custom_render.html @@ -8,7 +8,6 @@ - diff --git a/demos/selectmenu/default.html b/demos/selectmenu/default.html index da91cf16f..97bbe6e3d 100644 --- a/demos/selectmenu/default.html +++ b/demos/selectmenu/default.html @@ -8,7 +8,6 @@ - diff --git a/tests/unit/selectmenu/selectmenu.html b/tests/unit/selectmenu/selectmenu.html index c64b364fa..cca8c2631 100644 --- a/tests/unit/selectmenu/selectmenu.html +++ b/tests/unit/selectmenu/selectmenu.html @@ -5,14 +5,12 @@ jQuery UI Selectmenu Test Suite - - diff --git a/tests/visual/selectmenu/compatibility.html b/tests/visual/selectmenu/compatibility.html index 3629243a3..bd00804f3 100644 --- a/tests/visual/selectmenu/compatibility.html +++ b/tests/visual/selectmenu/compatibility.html @@ -11,7 +11,6 @@ - diff --git a/tests/visual/selectmenu/disabled.html b/tests/visual/selectmenu/disabled.html index b74b93530..4129e95e4 100644 --- a/tests/visual/selectmenu/disabled.html +++ b/tests/visual/selectmenu/disabled.html @@ -8,7 +8,6 @@ - diff --git a/tests/visual/selectmenu/events.html b/tests/visual/selectmenu/events.html index 7371e1373..206995805 100644 --- a/tests/visual/selectmenu/events.html +++ b/tests/visual/selectmenu/events.html @@ -8,7 +8,6 @@ - diff --git a/tests/visual/selectmenu/methods.html b/tests/visual/selectmenu/methods.html index d2654abfa..87dae0291 100644 --- a/tests/visual/selectmenu/methods.html +++ b/tests/visual/selectmenu/methods.html @@ -8,7 +8,6 @@ - diff --git a/themes/base/jquery.ui.selectmenu.css b/themes/base/jquery.ui.selectmenu.css index e6f624ff0..04da7f649 100644 --- a/themes/base/jquery.ui.selectmenu.css +++ b/themes/base/jquery.ui.selectmenu.css @@ -13,6 +13,5 @@ .ui-selectmenu-menu .ui-menu li.ui-state-disabled { padding: 0.3em 1em 0.3em 1em; } .ui-selectmenu-menu .ui-menu li.ui-selectmenu-optgroup { font-weight: bold; line-height: 1.5; padding: 2px 0.4em; margin: 0.5em 0 0 0; } .ui-selectmenu-open { display: block; } - -.ui-selectmenu-button span.ui-icon { right: 0.5em; left: auto; } -.ui-selectmenu-button span.ui-button-text { text-align: left; padding: 0.4em 2.1em 0.4em 1em } \ No newline at end of file +.ui-selectmenu-button span.ui-icon { right: 0.5em; left: auto; margin-top: -8px; position: absolute; top: 50%; } +.ui-selectmenu-button span.ui-selectmenu-text { text-align: left; padding: 0.4em 2.1em 0.4em 1em; display: block; line-height: 1.4; } \ No newline at end of file diff --git a/ui/jquery.ui.selectmenu.js b/ui/jquery.ui.selectmenu.js index ad4608ec8..9f655fbe6 100644 --- a/ui/jquery.ui.selectmenu.js +++ b/ui/jquery.ui.selectmenu.js @@ -12,7 +12,6 @@ * jquery.ui.widget.js * jquery.ui.position.js * jquery.ui.menu.js - * jquery.ui.button.js */ (function( $, undefined ) { @@ -68,23 +67,25 @@ $.widget( "ui.selectmenu", { // create button this.button = $( '
    ', { - href: '#' + this.ids.id, - html: this.element.find( "option:selected" ).text() || ' ', - tabindex: ( tabindex ? tabindex : this.options.disabled ? -1 : 0 ), - id: this.ids.button, - width: this.element.outerWidth(), - 'aria-expanded': false, - 'aria-autocomplete': 'list', - 'aria-owns': this.ids.menu, - 'aria-haspopup': true + 'class': 'ui-button ui-widget ui-state-default ui-corner-all', + href: '#' + this.ids.id, + tabindex: ( tabindex ? tabindex : this.options.disabled ? -1 : 0 ), + id: this.ids.button, + width: this.element.outerWidth(), + role: 'combobox', + 'aria-expanded': false, + 'aria-autocomplete': 'list', + 'aria-owns': this.ids.menu, + 'aria-haspopup': true + }); + + this.button.prepend( $( '' ) ); + + this.buttonText = $( '', { + 'class': 'ui-selectmenu-text' , + html: this.element.find( "option:selected" ).text() || ' ' }) - .button({ - icons: { - primary: ( this.options.dropdown ? 'ui-icon-triangle-1-s' : 'ui-icon-triangle-2-n-s' ) - } - }) - // change ARIA role - .attr( 'role', 'combobox' ); + .appendTo( this.button ); // wrap and insert new button this.buttonWrap = $( '', { @@ -108,8 +109,7 @@ $.widget( "ui.selectmenu", { if ( this.options.dropdown ) { var setWidth = this.button.outerWidth(); } else { - var text = this.button.find( "span.ui-button-text"), - setWidth = text.width() + parseFloat( text.css( "padding-left" ) ) || 0 + parseFloat( text.css( "margin-left" ) || 0 ); + var setWidth = this.buttonText.width() + parseFloat( this.buttonText.css( "padding-left" ) ) || 0 + parseFloat( this.buttonText.css( "margin-left" ) || 0 ); } // wrap menu @@ -391,7 +391,7 @@ $.widget( "ui.selectmenu", { _setSelected: function( item ) { // update button text - this.button.find( "span.ui-button-text" ).html( item.label ); + this.buttonText.html( item.label ); // change ARIA attr this.menuItems.find("a").attr( "aria-selected", false ); this._getSelectedItem().find("a").attr( "aria-selected", true ); @@ -407,7 +407,6 @@ $.widget( "ui.selectmenu", { this.menu.toggleClass( 'ui-corner-bottom', value ).toggleClass( 'ui-corner-all', !value ); } if ( key === "disabled" ) { - this.button.button( "option", "disabled", value ); this.menu.menu( "option", "disabled", value ); if ( value ) { this.element.attr( "disabled", "disabled" ); -- cgit v1.2.3 From 1fbf5cb4c723400fc883d8b13d92874fc81e15d7 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Sun, 26 Feb 2012 01:04:32 +0100 Subject: Selectmenu: small typo in visual test --- tests/visual/selectmenu/methods.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/visual/selectmenu/methods.html b/tests/visual/selectmenu/methods.html index 87dae0291..38f40d0c0 100644 --- a/tests/visual/selectmenu/methods.html +++ b/tests/visual/selectmenu/methods.html @@ -2,7 +2,7 @@ - jQuery UI Selectmenu - Methids functionality + jQuery UI Selectmenu - Methods functionality @@ -52,7 +52,6 @@ fieldset { border: 0; } label { display: block; } select { width: 200px; } - .overflow ul { height: 200px; overflow: auto; } -- cgit v1.2.3 From e9a35319d46f4d45edab3dcbfb8cf8aa8152d330 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Sun, 26 Feb 2012 01:24:52 +0100 Subject: Selectmenu: adjust and improve unit tests --- tests/unit/selectmenu/selectmenu_methods.js | 11 ++++---- tests/unit/selectmenu/selectmenu_options.js | 44 ++++++++++++++++------------- 2 files changed, 30 insertions(+), 25 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_methods.js b/tests/unit/selectmenu/selectmenu_methods.js index 3d59584a6..be61be946 100644 --- a/tests/unit/selectmenu/selectmenu_methods.js +++ b/tests/unit/selectmenu/selectmenu_methods.js @@ -14,16 +14,15 @@ test( "open / close", function() { expect( 4 ); var element = $('#speed').selectmenu(), - button = element.selectmenu("widget").parent(), - menu = element.selectmenu("menuWidget").parent(); + menu = element.selectmenu("menuWidget"); element.selectmenu("open"); - ok( menu.is( ":visible" ), "menu visible" ); - equals( menu.find("ul").attr("aria-hidden"), "false", "menu aria-disabled" ); + ok( menu.is( ":visible" ), "open: menu visible" ); + equals( menu.attr("aria-hidden"), "false", "open: menu aria-disabled" ); element.selectmenu("close"); - ok( menu.is( ":hidden" ), "menu hidden" ); - equals( menu.find("ul").attr("aria-hidden"), "true", "menu aria-disabled" ); + ok( menu.is( ":hidden" ), "close: menu hidden" ); + equals( menu.attr("aria-hidden"), "true", "close: menu aria-disabled" ); }); diff --git a/tests/unit/selectmenu/selectmenu_options.js b/tests/unit/selectmenu/selectmenu_options.js index 2271df167..73a6cfea3 100644 --- a/tests/unit/selectmenu/selectmenu_options.js +++ b/tests/unit/selectmenu/selectmenu_options.js @@ -1,35 +1,41 @@ (function ($) { -module("selectmenu: options", { - setup: function () { - this.element = $("#speed").selectmenu(); - } -}); +module("selectmenu: options"); test("appendTo another element", function () { expect(2); - - ok(this.element.selectmenu("option", "appendTo", "#qunit-fixture"), "appendTo accepts selector"); + + element = $("#speed").selectmenu(); + + ok(element.selectmenu("option", "appendTo", "#qunit-fixture"), "appendTo accepts selector"); ok($("#qunit-fixture").find(".ui-selectmenu-menu").length, "selectmenu appendedTo other element"); }); test("dropdown: CSS styles", function () { - expect(4); + expect(2); + + var element = $("#speed").selectmenu(), + button = element.selectmenu("widget"), + menu = element.selectmenu("menuWidget"); - var button = this.element.selectmenu("widget").parent(), - ul = this.element.selectmenu("menuWidget"), - link = button.find("a"); + element.selectmenu("open"); + ok( button.hasClass("ui-corner-top") && !button.hasClass("ui-corner-all") && button.find("span.ui-icon").hasClass("ui-icon-triangle-1-s"), "button styles dropdown"); + ok( menu.hasClass("ui-corner-bottom") && !menu.hasClass("ui-corner-all"), "menu styles dropdown"); +}); + +test("pop-up: CSS styles", function () { + expect(2); - this.element.selectmenu("open"); - ok( link.hasClass("ui-corner-top") && !link.hasClass("ui-corner-all"), "button styles dropdown"); - ok( ul.hasClass("ui-corner-bottom") && !ul.hasClass("ui-corner-all"), "menu styles dropdown"); + var element = $("#speed").selectmenu({ + dropdown: false + }), + button = element.selectmenu("widget"), + menu = element.selectmenu("menuWidget"); - this.element.selectmenu("close"); - this.element.selectmenu("option", "dropdown", false); - this.element.selectmenu("open"); - ok( !link.hasClass("ui-corner-top") && link.hasClass("ui-corner-all"), "button styles pop-up"); - ok( !ul.hasClass("ui-corner-bottom") && ul.hasClass("ui-corner-all"), "menu styles pop-up"); + element.selectmenu("close"); + ok( !button.hasClass("ui-corner-top") && button.hasClass("ui-corner-all") && button.find("span.ui-icon").hasClass("ui-icon-triangle-2-n-s"), "button styles pop-up"); + ok( !menu.hasClass("ui-corner-bottom") && menu.hasClass("ui-corner-all"), "menu styles pop-up"); }); })(jQuery); -- cgit v1.2.3 From 156d0fbf096377b8674b6fa2b18f026c18ea28fd Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Sun, 26 Feb 2012 02:16:50 +0100 Subject: Selectmenu: fix for IEs item hover problem, overflow CSS properties now included --- demos/selectmenu/default.html | 2 +- tests/visual/selectmenu/disabled.html | 2 +- tests/visual/selectmenu/events.html | 2 +- themes/base/jquery.ui.selectmenu.css | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) (limited to 'tests') diff --git a/demos/selectmenu/default.html b/demos/selectmenu/default.html index 97bbe6e3d..1d700100b 100644 --- a/demos/selectmenu/default.html +++ b/demos/selectmenu/default.html @@ -28,7 +28,7 @@ fieldset { border: 0; } label { display: block; } select { width: 200px; } - .overflow { height: 200px; overflow: auto; overflow-y: auto; overflow-x: hidden;} + .overflow { height: 200px; } diff --git a/tests/visual/selectmenu/disabled.html b/tests/visual/selectmenu/disabled.html index 4129e95e4..b480fa877 100644 --- a/tests/visual/selectmenu/disabled.html +++ b/tests/visual/selectmenu/disabled.html @@ -50,7 +50,7 @@ fieldset { border: 0; } label { display: block; } select { width: 200px; } - .overflow { height: 200px; overflow: auto; } + .overflow { height: 200px; } diff --git a/tests/visual/selectmenu/events.html b/tests/visual/selectmenu/events.html index 206995805..43e280dbd 100644 --- a/tests/visual/selectmenu/events.html +++ b/tests/visual/selectmenu/events.html @@ -39,7 +39,7 @@ fieldset { border: 0; } label { display: block; } select { width: 200px; } - .overflow ul { height: 200px; overflow: auto; } + .overflow ul { height: 200px; } diff --git a/themes/base/jquery.ui.selectmenu.css b/themes/base/jquery.ui.selectmenu.css index 31dc184e1..a8a65efe7 100644 --- a/themes/base/jquery.ui.selectmenu.css +++ b/themes/base/jquery.ui.selectmenu.css @@ -9,6 +9,7 @@ */ .ui-selectmenu-menu { padding: 0; margin: 0; position:absolute; top: 0; display: none; } +.ui-selectmenu-menu ul.ui-menu { overflow: auto; overflow-y: auto ; overflow-x: hidden; } .ui-selectmenu-menu .ui-menu .ui-menu-item a { padding: 0.3em 1em 0.3em 1em; } .ui-selectmenu-menu .ui-menu li.ui-state-disabled { padding: 0.3em 1em 0.3em 1em; } .ui-selectmenu-menu .ui-menu li.ui-selectmenu-optgroup { font-weight: bold; line-height: 1.5; padding: 2px 0.4em; margin: 0.5em 0 0 0; } -- cgit v1.2.3 From e299e9ad662ce1b58bc77d6283351ce2902d83e1 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Sun, 26 Feb 2012 02:45:43 +0100 Subject: Selectmenu: added empty.html visual test, small improvements in html files --- demos/selectmenu/custom_render.html | 5 +- tests/visual/selectmenu/compatibility.html | 1 + tests/visual/selectmenu/empty.html | 73 ++++++++++++++++++++++++++++++ 3 files changed, 76 insertions(+), 3 deletions(-) create mode 100644 tests/visual/selectmenu/empty.html (limited to 'tests') diff --git a/demos/selectmenu/custom_render.html b/demos/selectmenu/custom_render.html index 39d1534de..c9f962d7f 100644 --- a/demos/selectmenu/custom_render.html +++ b/demos/selectmenu/custom_render.html @@ -21,11 +21,10 @@ li.addClass( 'ui-state-disabled' ).text( item.label ); } else { el = item.element; - var link = $( "", { + $( "", { html: icon = '' + item.label, href: '#' - }); - li.append( link ); + }).appendTo( li ); } return li.appendTo( ul ); diff --git a/tests/visual/selectmenu/compatibility.html b/tests/visual/selectmenu/compatibility.html index bd00804f3..66a2ba072 100644 --- a/tests/visual/selectmenu/compatibility.html +++ b/tests/visual/selectmenu/compatibility.html @@ -50,6 +50,7 @@ }); + + + +
    + +
    +
    + + + + + +
    +
    +
    + + +
    +
    +
    + + +
    +
    + +
    + + + + + -- cgit v1.2.3 From 72c17f061430c0c7ff94f39e0d70ef07f7b7237b Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Tue, 28 Feb 2012 19:21:50 +0100 Subject: Selectmenu: added a temp fix for Safari to make unit test work, see https://github.com/jquery/jquery-ui/pull/492#issuecomment-4214604 --- tests/unit/selectmenu/selectmenu_core.js | 4 ++-- tests/unit/selectmenu/selectmenu_events.js | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 53872a980..85678e89f 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -60,8 +60,8 @@ $.each([ equals( element.find("option:selected").val(), selected.next("option").val() , "after keydown original select state" ); equals( button.text(), selected.next("option").text(), "after keydown button text" ); - button.simulate( "click" ); - menu.find("a").last().simulate( "mouseover" ).trigger( "click" ); + button.simulate( "click", { clientX: 1, clientY: 1 } ); + menu.find("a").last().simulate( "mouseover", { clientX: 1, clientY: 1 } ).trigger( "click" ); equals( menu.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after click menu aria-activedescendant" ); equals( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "after click selected menu link aria-selected" ); equals( element.find("option:selected").val(), element.find("option").last().val(), "after click original select state" ); diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index 9e8629f5b..805beaf93 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -23,8 +23,8 @@ test("change", function () { menu = this.element.selectmenu("menuWidget").parent(), value = this.element.find("option").first().text(); - button.find("a").simulate( "focus" ).simulate( "click" ); - menu.find("a").first().simulate( "mouseover" ).trigger( "click" ); + button.find("a").simulate( "focus" ).simulate( "click", { clientX: 1, clientY: 1 } ); + menu.find("a").first().simulate( "mouseover", { clientX: 1, clientY: 1 } ).trigger( "click" ); }); @@ -63,8 +63,8 @@ test("focus", function () { var button = this.element.selectmenu("widget").parent(), menu = this.element.selectmenu("menuWidget").parent(); - button.find("a").simulate( "focus" ).simulate( "click" ); - menu.find(".ui-menu-item").simulate("mouseover"); + button.find("a").simulate( "focus" ).simulate( "click", { clientX: 1, clientY: 1 } ); + menu.find(".ui-menu-item").simulate("mouseover", { clientX: 1, clientY: 1 }); }); @@ -98,8 +98,8 @@ test("select", function () { var button = this.element.selectmenu("widget").parent(), menu = this.element.selectmenu("menuWidget").parent(); - button.find("a").simulate( "focus" ).simulate( "click" ); - menu.find("a").first().simulate( "mouseover" ).trigger("click"); + button.find("a").simulate( "focus" ).simulate( "click", { clientX: 1, clientY: 1 } ); + menu.find("a").first().simulate( "mouseover", { clientX: 1, clientY: 1 } ).trigger("click"); }); })(jQuery); -- cgit v1.2.3 From 8c10c1e41b07ebadf8b3cf67fac88d27ee6c9fdb Mon Sep 17 00:00:00 2001 From: Scott González Date: Wed, 29 Feb 2012 22:09:13 -0500 Subject: Revert "Selectmenu: added a temp fix for Safari to make unit test work, see https://github.com/jquery/jquery-ui/pull/492#issuecomment-4214604" This reverts commit 72c17f061430c0c7ff94f39e0d70ef07f7b7237b. --- tests/unit/selectmenu/selectmenu_core.js | 4 ++-- tests/unit/selectmenu/selectmenu_events.js | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 85678e89f..53872a980 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -60,8 +60,8 @@ $.each([ equals( element.find("option:selected").val(), selected.next("option").val() , "after keydown original select state" ); equals( button.text(), selected.next("option").text(), "after keydown button text" ); - button.simulate( "click", { clientX: 1, clientY: 1 } ); - menu.find("a").last().simulate( "mouseover", { clientX: 1, clientY: 1 } ).trigger( "click" ); + button.simulate( "click" ); + menu.find("a").last().simulate( "mouseover" ).trigger( "click" ); equals( menu.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after click menu aria-activedescendant" ); equals( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "after click selected menu link aria-selected" ); equals( element.find("option:selected").val(), element.find("option").last().val(), "after click original select state" ); diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index 805beaf93..9e8629f5b 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -23,8 +23,8 @@ test("change", function () { menu = this.element.selectmenu("menuWidget").parent(), value = this.element.find("option").first().text(); - button.find("a").simulate( "focus" ).simulate( "click", { clientX: 1, clientY: 1 } ); - menu.find("a").first().simulate( "mouseover", { clientX: 1, clientY: 1 } ).trigger( "click" ); + button.find("a").simulate( "focus" ).simulate( "click" ); + menu.find("a").first().simulate( "mouseover" ).trigger( "click" ); }); @@ -63,8 +63,8 @@ test("focus", function () { var button = this.element.selectmenu("widget").parent(), menu = this.element.selectmenu("menuWidget").parent(); - button.find("a").simulate( "focus" ).simulate( "click", { clientX: 1, clientY: 1 } ); - menu.find(".ui-menu-item").simulate("mouseover", { clientX: 1, clientY: 1 }); + button.find("a").simulate( "focus" ).simulate( "click" ); + menu.find(".ui-menu-item").simulate("mouseover"); }); @@ -98,8 +98,8 @@ test("select", function () { var button = this.element.selectmenu("widget").parent(), menu = this.element.selectmenu("menuWidget").parent(); - button.find("a").simulate( "focus" ).simulate( "click", { clientX: 1, clientY: 1 } ); - menu.find("a").first().simulate( "mouseover", { clientX: 1, clientY: 1 } ).trigger("click"); + button.find("a").simulate( "focus" ).simulate( "click" ); + menu.find("a").first().simulate( "mouseover" ).trigger("click"); }); })(jQuery); -- cgit v1.2.3 From 94f85149db2a8b2540f9b204c14d57d8b087fbf6 Mon Sep 17 00:00:00 2001 From: Scott González Date: Wed, 29 Feb 2012 22:11:20 -0500 Subject: Tests: equals() -> equal(). --- tests/unit/selectmenu/selectmenu_core.js | 44 ++++++++++++++--------------- tests/unit/selectmenu/selectmenu_events.js | 18 ++++++------ tests/unit/selectmenu/selectmenu_methods.js | 34 +++++++++++----------- 3 files changed, 48 insertions(+), 48 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 53872a980..69112054a 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -13,23 +13,23 @@ test("accessibility", function () { expect(12 + links.length * 2); - equals( button.attr("role"), "combobox", "button link role" ); - equals( button.attr("aria-haspopup"), "true", "button link aria-haspopup" ); - equals( button.attr("aria-expanded"), "false", "button link aria-expanded" ); - equals( button.attr("aria-autocomplete"), "list", "button link aria-autocomplete" ); - equals( button.attr("aria-owns"), menu.attr("id"), "button link aria-owns" ); - equals( button.attr("tabindex"), 0, "button link tabindex" ); + equal( button.attr("role"), "combobox", "button link role" ); + equal( button.attr("aria-haspopup"), "true", "button link aria-haspopup" ); + equal( button.attr("aria-expanded"), "false", "button link aria-expanded" ); + equal( button.attr("aria-autocomplete"), "list", "button link aria-autocomplete" ); + equal( button.attr("aria-owns"), menu.attr("id"), "button link aria-owns" ); + equal( button.attr("tabindex"), 0, "button link tabindex" ); - equals( menu.attr("role"), "listbox", "menu role" ); - equals( menu.attr("aria-labelledby"), button.attr("id"), "menu aria-labelledby" ); - equals( menu.attr("aria-hidden"), "true", "menu aria-hidden" ); - equals( menu.attr("tabindex"), 0, "menu tabindex" ); - equals( menu.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "menu aria-activedescendant" ); + equal( menu.attr("role"), "listbox", "menu role" ); + equal( menu.attr("aria-labelledby"), button.attr("id"), "menu aria-labelledby" ); + equal( menu.attr("aria-hidden"), "true", "menu aria-hidden" ); + equal( menu.attr("tabindex"), 0, "menu tabindex" ); + equal( menu.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "menu aria-activedescendant" ); $.each( links, function(index){ - equals( $(this).attr("role"), "option", "menu link #" + index +" role" ); - equals( $(this).attr("tabindex"), -1, "menu link #" + index +" tabindex" ); + equal( $(this).attr("role"), "option", "menu link #" + index +" role" ); + equal( $(this).attr("tabindex"), -1, "menu link #" + index +" tabindex" ); }); - equals( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "selected menu link aria-selected" ); + equal( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "selected menu link aria-selected" ); }); @@ -55,17 +55,17 @@ $.each([ var links = menu.find("li.ui-menu-item a"); button.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); - equals( menu.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after keydown menu aria-activedescendant" ); - equals( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "after keydown selected menu link aria-selected" ); - equals( element.find("option:selected").val(), selected.next("option").val() , "after keydown original select state" ); - equals( button.text(), selected.next("option").text(), "after keydown button text" ); + equal( menu.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after keydown menu aria-activedescendant" ); + equal( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "after keydown selected menu link aria-selected" ); + equal( element.find("option:selected").val(), selected.next("option").val() , "after keydown original select state" ); + equal( button.text(), selected.next("option").text(), "after keydown button text" ); button.simulate( "click" ); menu.find("a").last().simulate( "mouseover" ).trigger( "click" ); - equals( menu.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after click menu aria-activedescendant" ); - equals( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "after click selected menu link aria-selected" ); - equals( element.find("option:selected").val(), element.find("option").last().val(), "after click original select state" ); - equals( button.text(), element.find("option").last().text(), "after click button text" ); + equal( menu.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after click menu aria-activedescendant" ); + equal( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "after click selected menu link aria-selected" ); + equal( element.find("option:selected").val(), element.find("option").last().val(), "after click original select state" ); + equal( button.text(), element.find("option").last().text(), "after click button text" ); }); }); diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index 9e8629f5b..d8ffecbfb 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -12,10 +12,10 @@ test("change", function () { this.element.selectmenu({ change: function (event, ui) { ok(event, "change event fired on change"); - equals(event.type, "selectmenuchange", "event type set to selectmenuchange"); + equal(event.type, "selectmenuchange", "event type set to selectmenuchange"); ok(ui, "ui object is passed as second argument to event handler"); - equals(ui.item.element[0].nodeName, "OPTION", "ui.item.element[0] points to original option element"); - equals(ui.item.value, value, "ui.item.value property updated correctly"); + equal(ui.item.element[0].nodeName, "OPTION", "ui.item.element[0] points to original option element"); + equal(ui.item.value, value, "ui.item.value property updated correctly"); } }); @@ -34,7 +34,7 @@ test("close", function () { this.element.selectmenu({ close: function (event, ui) { ok(event, "close event fired on close"); - equals(event.type, "selectmenuclose", "event type set to selectmenuclose"); + equal(event.type, "selectmenuclose", "event type set to selectmenuclose"); ok(ui, "ui object is passed as second argument to event handler"); } }); @@ -53,9 +53,9 @@ test("focus", function () { counter++; if (counter === 1) { ok(event, "focus event fired on mouseover"); - equals(event.type, "selectmenufocus", "event type set to selectmenufocus"); + equal(event.type, "selectmenufocus", "event type set to selectmenufocus"); ok(ui, "ui object is passed as second argument to event handler"); - equals(ui.item.element[0].nodeName, "OPTION", "ui points to original option element"); + equal(ui.item.element[0].nodeName, "OPTION", "ui points to original option element"); } } }); @@ -74,7 +74,7 @@ test("open", function () { this.element.selectmenu({ open: function (event, ui) { ok(event, "open event fired on open"); - equals(event.type, "selectmenuopen", "event type set to selectmenuopen"); + equal(event.type, "selectmenuopen", "event type set to selectmenuopen"); ok(ui, "ui object is passed as second argument to event handler"); } }); @@ -89,9 +89,9 @@ test("select", function () { this.element.selectmenu({ select: function (event, ui) { ok(event, "select event fired on item select"); - equals(event.type, "selectmenuselect", "event type set to selectmenuselect"); + equal(event.type, "selectmenuselect", "event type set to selectmenuselect"); ok(ui, "ui object is passed as second argument to event handler"); - equals(ui.item.element[0].nodeName, "OPTION", "ui points to original option element"); + equal(ui.item.element[0].nodeName, "OPTION", "ui points to original option element"); } }); diff --git a/tests/unit/selectmenu/selectmenu_methods.js b/tests/unit/selectmenu/selectmenu_methods.js index be61be946..ef00ee8f8 100644 --- a/tests/unit/selectmenu/selectmenu_methods.js +++ b/tests/unit/selectmenu/selectmenu_methods.js @@ -18,11 +18,11 @@ test( "open / close", function() { element.selectmenu("open"); ok( menu.is( ":visible" ), "open: menu visible" ); - equals( menu.attr("aria-hidden"), "false", "open: menu aria-disabled" ); + equal( menu.attr("aria-hidden"), "false", "open: menu aria-disabled" ); element.selectmenu("close"); ok( menu.is( ":hidden" ), "close: menu hidden" ); - equals( menu.attr("aria-hidden"), "true", "close: menu aria-disabled" ); + equal( menu.attr("aria-hidden"), "true", "close: menu aria-disabled" ); }); @@ -35,17 +35,17 @@ test("enable / disable", function () { element.selectmenu("disable"); ok( element.selectmenu("option", "disabled"), "disable: widget option" ); - equals( element.attr("disabled"), "disabled", "disable: native select disabled" ); - equals( button.attr("aria-disabled"), "true", "disable: button wrapper ARIA" ); - equals( button.attr("tabindex"), -1, "disable: button tabindex" ); - equals( menu.attr("aria-disabled"), "true", "disable: menu wrapper ARIA" ); + equal( element.attr("disabled"), "disabled", "disable: native select disabled" ); + equal( button.attr("aria-disabled"), "true", "disable: button wrapper ARIA" ); + equal( button.attr("tabindex"), -1, "disable: button tabindex" ); + equal( menu.attr("aria-disabled"), "true", "disable: menu wrapper ARIA" ); element.selectmenu("enable"); ok( !element.selectmenu("option", "disabled"), "enable: widget option" ); - equals( element.attr("disabled"), undefined, "enable: native select disabled" ); - equals( button.attr("aria-disabled"), "false", "enable: button wrapper ARIA" ); - equals( button.attr("tabindex"), 0, "enable: button tabindex" ); - equals( menu.attr("aria-disabled"), "false", "enable: menu wrapper ARIA" ); + equal( element.attr("disabled"), undefined, "enable: native select disabled" ); + equal( button.attr("aria-disabled"), "false", "enable: button wrapper ARIA" ); + equal( button.attr("tabindex"), 0, "enable: button tabindex" ); + equal( menu.attr("aria-disabled"), "false", "enable: menu wrapper ARIA" ); }); @@ -63,9 +63,9 @@ test("refresh - structure", function () { .text("Changed value"); element.selectmenu("refresh"); - equals( element.find("option").length, menu.find("li").not(".ui-selectmenu-optgroup").length, "menu item length" ); - equals( element.find("option").last().text(), menu.find("li").not(".ui-selectmenu-optgroup").last().text(), "added item" ); - equals( element.find("option").first().text(), menu.find("li").not(".ui-selectmenu-optgroup").first().text(), "changed item" ); + equal( element.find("option").length, menu.find("li").not(".ui-selectmenu-optgroup").length, "menu item length" ); + equal( element.find("option").last().text(), menu.find("li").not(".ui-selectmenu-optgroup").last().text(), "added item" ); + equal( element.find("option").first().text(), menu.find("li").not(".ui-selectmenu-optgroup").first().text(), "changed item" ); }); @@ -80,9 +80,9 @@ test("refresh - disabled select", function () { element.selectmenu("refresh"); ok( element.selectmenu("option", "disabled"), "widget option" ); - equals( button.attr("aria-disabled"), "true", "button wrapper ARIA" ); - equals( button.attr("tabindex"), -1, "button tabindex" ); - equals( menu.attr("aria-disabled"), "true", "menu wrapper ARIA" ); + equal( button.attr("aria-disabled"), "true", "button wrapper ARIA" ); + equal( button.attr("tabindex"), -1, "button tabindex" ); + equal( menu.attr("aria-disabled"), "true", "menu wrapper ARIA" ); }); @@ -119,7 +119,7 @@ test("refresh - disabled optgroup", function () { var item = menu.find("li.ui-selectmenu-optgroup").first(); ok( item.hasClass("ui-state-disabled"), "class" ); - equals( menu.find("li").not(".ui-selectmenu-optgroup").filter(".ui-state-disabled").length, originalDisabledOptions.length, "disabled options" ); + equal( menu.find("li").not(".ui-selectmenu-optgroup").filter(".ui-state-disabled").length, originalDisabledOptions.length, "disabled options" ); for ( var i = 0; i < originalDisabledOptions.length; i++ ) { item = item.next("li"); ok( item.hasClass("ui-state-disabled"), "item #" + i + ": class" ); -- cgit v1.2.3 From ec5f2ae34ada562903b919d86221d03c9b193a0e Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Sun, 1 Apr 2012 23:18:32 +0200 Subject: Selectmenu: removed unnecessary unit test (has link test for disabled items) --- tests/unit/selectmenu/selectmenu_methods.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_methods.js b/tests/unit/selectmenu/selectmenu_methods.js index ef00ee8f8..8a048e777 100644 --- a/tests/unit/selectmenu/selectmenu_methods.js +++ b/tests/unit/selectmenu/selectmenu_methods.js @@ -87,7 +87,7 @@ test("refresh - disabled select", function () { test("refresh - disabled option", function () { - expect(2); + expect(1); var element = $('#speed').selectmenu(), button = element.selectmenu("widget").parent(), @@ -99,7 +99,6 @@ test("refresh - disabled option", function () { var disabledItem = menu.find("li").not(".ui-selectmenu-optgroup").eq(2); ok( disabledItem.hasClass("ui-state-disabled"), "class" ); - ok( disabledItem.children("a").length <= 0, "has no link" ); }); @@ -111,7 +110,7 @@ test("refresh - disabled optgroup", function () { originalDisabledOptgroup = element.find("optgroup").first(), originalDisabledOptions = originalDisabledOptgroup.find("option"); - expect(2 + originalDisabledOptions.length * 2); + expect(2 + originalDisabledOptions.length); originalDisabledOptgroup.attr("disabled", "disabled"); element.selectmenu("refresh"); @@ -123,7 +122,6 @@ test("refresh - disabled optgroup", function () { for ( var i = 0; i < originalDisabledOptions.length; i++ ) { item = item.next("li"); ok( item.hasClass("ui-state-disabled"), "item #" + i + ": class" ); - ok( item.children("a").length <= 0, "item #" + i + ": has no link" ); } }); -- cgit v1.2.3 From 4460376a8502f52a335c4e564475c122af6f0806 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Wed, 16 May 2012 20:11:42 +0200 Subject: Selectmenu: Upgrade tests to jQuery 1.7.2 --- tests/unit/selectmenu/all.html | 2 +- tests/visual/selectmenu/compatibility.html | 2 +- tests/visual/selectmenu/disabled.html | 2 +- tests/visual/selectmenu/empty.html | 2 +- tests/visual/selectmenu/events.html | 2 +- tests/visual/selectmenu/methods.html | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/all.html b/tests/unit/selectmenu/all.html index 9bb6835d0..b7ffeeb09 100644 --- a/tests/unit/selectmenu/all.html +++ b/tests/unit/selectmenu/all.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu Test Suite - + diff --git a/tests/visual/selectmenu/compatibility.html b/tests/visual/selectmenu/compatibility.html index 66a2ba072..be3d098c1 100644 --- a/tests/visual/selectmenu/compatibility.html +++ b/tests/visual/selectmenu/compatibility.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Compatibility with other widgets - + diff --git a/tests/visual/selectmenu/disabled.html b/tests/visual/selectmenu/disabled.html index b480fa877..74133c9cf 100644 --- a/tests/visual/selectmenu/disabled.html +++ b/tests/visual/selectmenu/disabled.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Disable functionality - + diff --git a/tests/visual/selectmenu/empty.html b/tests/visual/selectmenu/empty.html index f4702c2c2..8e945e330 100644 --- a/tests/visual/selectmenu/empty.html +++ b/tests/visual/selectmenu/empty.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Methids functionality - + diff --git a/tests/visual/selectmenu/events.html b/tests/visual/selectmenu/events.html index 43e280dbd..80ff4b2bd 100644 --- a/tests/visual/selectmenu/events.html +++ b/tests/visual/selectmenu/events.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Events functionality - + diff --git a/tests/visual/selectmenu/methods.html b/tests/visual/selectmenu/methods.html index 38f40d0c0..8349929ce 100644 --- a/tests/visual/selectmenu/methods.html +++ b/tests/visual/selectmenu/methods.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Methods functionality - + -- cgit v1.2.3 From ff957dd2876e33e767f9a8293f03d5752464d8e6 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Wed, 16 May 2012 20:30:30 +0200 Subject: Selectmenu: Update unit tests --- tests/unit/selectmenu/selectmenu.html | 27 +++++++++++++++------------ tests/unit/selectmenu/selectmenu_common.js | 19 +++++++++++++++++++ tests/unit/selectmenu/selectmenu_defaults.js | 19 ------------------- 3 files changed, 34 insertions(+), 31 deletions(-) create mode 100644 tests/unit/selectmenu/selectmenu_common.js delete mode 100644 tests/unit/selectmenu/selectmenu_defaults.js (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu.html b/tests/unit/selectmenu/selectmenu.html index cca8c2631..9beea5d76 100644 --- a/tests/unit/selectmenu/selectmenu.html +++ b/tests/unit/selectmenu/selectmenu.html @@ -4,23 +4,26 @@ jQuery UI Selectmenu Test Suite - - - - - - - - + + - @@ -35,7 +38,7 @@

      - + - + - +
      + +
      +
      • Nunc tincidunt
      • -- cgit v1.2.3 From 83f424972308b533846bd6511495881b9e8a534b Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Mon, 16 Jul 2012 21:31:18 +0200 Subject: Selectmenu: split core unit test for state synchronization in keydown and click --- tests/unit/selectmenu/selectmenu_core.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 40f37e740..29cd9df43 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -44,8 +44,8 @@ $.each([ selector: "#files" } ], function( i, settings ) { - test("state synchronization - " + settings.type, function () { - expect(8); + test("state synchronization - after keydown - " + settings.type, function () { + expect(4); var links, element = $(settings.selector).selectmenu(), @@ -61,6 +61,19 @@ $.each([ equal( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "after keydown selected menu link aria-selected" ); equal( element.find("option:selected").val(), selected.next("option").val() , "after keydown original select state" ); equal( button.text(), selected.next("option").text(), "after keydown button text" ); + }); + + test("state synchronization - after click - " + settings.type, function () { + expect(4); + + var links, + element = $(settings.selector).selectmenu(), + button = element.selectmenu("widget"), + menu = element.selectmenu("menuWidget"), + selected = element.find("option:selected"); + + button.simulate( "focus" ); + links = menu.find("li.ui-menu-item a"); button.simulate( "click" ); menu.find("a").last().simulate( "mouseover" ).trigger( "click" ); -- cgit v1.2.3 From 06372cdcc8401b7fe67b5cf188cb459fd6258231 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Mon, 16 Jul 2012 21:38:47 +0200 Subject: Selectmenu: follow-up to 'split core unit test for state synchronization in keydown and click' --- tests/unit/selectmenu/selectmenu_core.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 29cd9df43..5754b30b7 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -57,10 +57,10 @@ $.each([ links = menu.find("li.ui-menu-item a"); button.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); - equal( menu.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after keydown menu aria-activedescendant" ); - equal( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "after keydown selected menu link aria-selected" ); - equal( element.find("option:selected").val(), selected.next("option").val() , "after keydown original select state" ); - equal( button.text(), selected.next("option").text(), "after keydown button text" ); + equal( menu.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "menu aria-activedescendant" ); + equal( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "selected menu link aria-selected" ); + equal( element.find("option:selected").val(), selected.next("option").val() , "original select state" ); + equal( button.text(), selected.next("option").text(), "button text" ); }); test("state synchronization - after click - " + settings.type, function () { @@ -77,10 +77,10 @@ $.each([ button.simulate( "click" ); menu.find("a").last().simulate( "mouseover" ).trigger( "click" ); - equal( menu.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "after click menu aria-activedescendant" ); - equal( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "after click selected menu link aria-selected" ); - equal( element.find("option:selected").val(), element.find("option").last().val(), "after click original select state" ); - equal( button.text(), element.find("option").last().text(), "after click button text" ); + equal( menu.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "menu aria-activedescendant" ); + equal( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "selected menu link aria-selected" ); + equal( element.find("option:selected").val(), element.find("option").last().val(), "original select state" ); + equal( button.text(), element.find("option").last().text(), "button text" ); }); }); -- cgit v1.2.3 From fb87e1c557d347f11e123081c0b392aa5cd89532 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 30 Aug 2012 23:38:56 +0200 Subject: Selectmenu tests: Added test for widget() method. --- tests/unit/selectmenu/selectmenu_methods.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_methods.js b/tests/unit/selectmenu/selectmenu_methods.js index 9d84e4787..d90098dcf 100644 --- a/tests/unit/selectmenu/selectmenu_methods.js +++ b/tests/unit/selectmenu/selectmenu_methods.js @@ -128,5 +128,19 @@ test("refresh - disabled optgroup", function () { } }); +test( "widget", function() { + expect( 4 ); + var element = $('#speed').selectmenu(), + widgetElement = element.selectmenu( "widget" ), + menuWidgetElement = element.selectmenu( "menuWidget" ); + + element.selectmenu("refresh"); + + equal( widgetElement.length, 1, "widget: one element" ); + ok( widgetElement.is("a.ui-button"), "widget: button element" ); + + equal( menuWidgetElement.length, 1, "menuWidget: one element" ); + ok( menuWidgetElement.is("ul.ui-menu"), "menuWidget: menu element" ); +}); })( jQuery ); -- cgit v1.2.3 From 5e12c54be1813e1f627d3214c11d7520fb46c647 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Tue, 4 Sep 2012 12:17:04 +0200 Subject: Selectmenu tests: Upgrade visual tests to jQuery to 1.8.0. --- tests/visual/selectmenu/compatibility.html | 2 +- tests/visual/selectmenu/disabled.html | 2 +- tests/visual/selectmenu/empty.html | 2 +- tests/visual/selectmenu/events.html | 2 +- tests/visual/selectmenu/methods.html | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) (limited to 'tests') diff --git a/tests/visual/selectmenu/compatibility.html b/tests/visual/selectmenu/compatibility.html index d06a96ec9..bb4a6fdeb 100644 --- a/tests/visual/selectmenu/compatibility.html +++ b/tests/visual/selectmenu/compatibility.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Compatibility with other widgets - + diff --git a/tests/visual/selectmenu/disabled.html b/tests/visual/selectmenu/disabled.html index 74133c9cf..81cda1dad 100644 --- a/tests/visual/selectmenu/disabled.html +++ b/tests/visual/selectmenu/disabled.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Disable functionality - + diff --git a/tests/visual/selectmenu/empty.html b/tests/visual/selectmenu/empty.html index 8e945e330..e13806d2b 100644 --- a/tests/visual/selectmenu/empty.html +++ b/tests/visual/selectmenu/empty.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Methids functionality - + diff --git a/tests/visual/selectmenu/events.html b/tests/visual/selectmenu/events.html index 80ff4b2bd..aaee41922 100644 --- a/tests/visual/selectmenu/events.html +++ b/tests/visual/selectmenu/events.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Events functionality - + diff --git a/tests/visual/selectmenu/methods.html b/tests/visual/selectmenu/methods.html index 0ad7773a7..8ab747fa0 100644 --- a/tests/visual/selectmenu/methods.html +++ b/tests/visual/selectmenu/methods.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Methods functionality - + -- cgit v1.2.3 From fc729a8c8ebfbe9c05f8b1ebbd6629898f3fc6c0 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Wed, 3 Oct 2012 22:43:03 +0200 Subject: Selectmenu: Upgrade jQuery to 1.8.2. --- demos/selectmenu/custom_render.html | 2 +- demos/selectmenu/default.html | 2 +- tests/visual/selectmenu/compatibility.html | 2 +- tests/visual/selectmenu/disabled.html | 2 +- tests/visual/selectmenu/empty.html | 2 +- tests/visual/selectmenu/events.html | 2 +- tests/visual/selectmenu/methods.html | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) (limited to 'tests') diff --git a/demos/selectmenu/custom_render.html b/demos/selectmenu/custom_render.html index d90106740..f1608cf3c 100644 --- a/demos/selectmenu/custom_render.html +++ b/demos/selectmenu/custom_render.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Default functionality - + diff --git a/demos/selectmenu/default.html b/demos/selectmenu/default.html index e3a6d09c2..589220549 100644 --- a/demos/selectmenu/default.html +++ b/demos/selectmenu/default.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Default functionality - + diff --git a/tests/visual/selectmenu/compatibility.html b/tests/visual/selectmenu/compatibility.html index bb4a6fdeb..d73950772 100644 --- a/tests/visual/selectmenu/compatibility.html +++ b/tests/visual/selectmenu/compatibility.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Compatibility with other widgets - + diff --git a/tests/visual/selectmenu/disabled.html b/tests/visual/selectmenu/disabled.html index 81cda1dad..134e04a15 100644 --- a/tests/visual/selectmenu/disabled.html +++ b/tests/visual/selectmenu/disabled.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Disable functionality - + diff --git a/tests/visual/selectmenu/empty.html b/tests/visual/selectmenu/empty.html index e13806d2b..55827c1ec 100644 --- a/tests/visual/selectmenu/empty.html +++ b/tests/visual/selectmenu/empty.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Methids functionality - + diff --git a/tests/visual/selectmenu/events.html b/tests/visual/selectmenu/events.html index aaee41922..8561afa86 100644 --- a/tests/visual/selectmenu/events.html +++ b/tests/visual/selectmenu/events.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Events functionality - + diff --git a/tests/visual/selectmenu/methods.html b/tests/visual/selectmenu/methods.html index 8ab747fa0..c3f5b92ee 100644 --- a/tests/visual/selectmenu/methods.html +++ b/tests/visual/selectmenu/methods.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Methods functionality - + -- cgit v1.2.3 From e059376eaed05f55c7f5c35a03fab827b69c86e1 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 25 Oct 2012 20:53:57 +0200 Subject: Selectmenu tests: add test for button aria-labelledby attribute --- tests/unit/selectmenu/selectmenu_core.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 5754b30b7..2bd7c47ee 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -12,13 +12,14 @@ test("accessibility", function () { button.simulate( "focus" ); links = menu.find("li.ui-menu-item a"); - expect(12 + links.length * 2); + expect(13 + links.length * 2); equal( button.attr("role"), "combobox", "button link role" ); equal( button.attr("aria-haspopup"), "true", "button link aria-haspopup" ); equal( button.attr("aria-expanded"), "false", "button link aria-expanded" ); equal( button.attr("aria-autocomplete"), "list", "button link aria-autocomplete" ); equal( button.attr("aria-owns"), menu.attr("id"), "button link aria-owns" ); + equal( button.attr("aria-labelledby"), element.prev("label").attr("id"), "button link aria-labelledby" ); equal( button.attr("tabindex"), 0, "button link tabindex" ); equal( menu.attr("role"), "listbox", "menu role" ); -- cgit v1.2.3 From e7e73cec07d891fe260c616c833c28d3d4a0402f Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 25 Oct 2012 22:24:50 +0200 Subject: Selectmenu tests: aria-activedescendant für button MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/unit/selectmenu/selectmenu_core.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 2bd7c47ee..d7c296133 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -46,7 +46,7 @@ $.each([ } ], function( i, settings ) { test("state synchronization - after keydown - " + settings.type, function () { - expect(4); + expect(5); var links, element = $(settings.selector).selectmenu(), @@ -60,12 +60,13 @@ $.each([ button.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); equal( menu.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "menu aria-activedescendant" ); equal( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "selected menu link aria-selected" ); + equal( button.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "button aria-activedescendant" ); equal( element.find("option:selected").val(), selected.next("option").val() , "original select state" ); equal( button.text(), selected.next("option").text(), "button text" ); }); test("state synchronization - after click - " + settings.type, function () { - expect(4); + expect(5); var links, element = $(settings.selector).selectmenu(), @@ -80,6 +81,7 @@ $.each([ menu.find("a").last().simulate( "mouseover" ).trigger( "click" ); equal( menu.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "menu aria-activedescendant" ); equal( links.eq(element[0].selectedIndex).attr("aria-selected"), "true", "selected menu link aria-selected" ); + equal( button.attr("aria-activedescendant"), links.eq(element[0].selectedIndex).attr("id"), "button aria-activedescendant" ); equal( element.find("option:selected").val(), element.find("option").last().val(), "original select state" ); equal( button.text(), element.find("option").last().text(), "button text" ); }); -- cgit v1.2.3 From 94b3a65c66e338fc6f697d13fc77d7f19b8666ae Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Sat, 10 Nov 2012 01:37:54 +0100 Subject: Selectmenu tests: adjust accessibility test --- tests/unit/selectmenu/selectmenu_core.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index d7c296133..5b596fe89 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -19,7 +19,7 @@ test("accessibility", function () { equal( button.attr("aria-expanded"), "false", "button link aria-expanded" ); equal( button.attr("aria-autocomplete"), "list", "button link aria-autocomplete" ); equal( button.attr("aria-owns"), menu.attr("id"), "button link aria-owns" ); - equal( button.attr("aria-labelledby"), element.prev("label").attr("id"), "button link aria-labelledby" ); + equal( button.attr("aria-labelledby"), links.eq( element[0].selectedIndex ).attr( "id" ), "button link aria-labelledby" ); equal( button.attr("tabindex"), 0, "button link tabindex" ); equal( menu.attr("role"), "listbox", "menu role" ); -- cgit v1.2.3 From 2bb459f1b645fa252a41e4e96651c103fd39d3ad Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Tue, 13 Nov 2012 21:58:23 +0100 Subject: Selectmenu tests: lint fixes --- tests/unit/selectmenu/selectmenu_core.js | 6 ++---- tests/unit/selectmenu/selectmenu_methods.js | 10 ++++------ 2 files changed, 6 insertions(+), 10 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 5b596fe89..54e06cf40 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -6,8 +6,7 @@ test("accessibility", function () { var links, element = $('#speed').selectmenu(), button = element.selectmenu("widget"), - menu = element.selectmenu("menuWidget"), - selected = element.find("option:selected"); + menu = element.selectmenu("menuWidget"); button.simulate( "focus" ); links = menu.find("li.ui-menu-item a"); @@ -71,8 +70,7 @@ $.each([ var links, element = $(settings.selector).selectmenu(), button = element.selectmenu("widget"), - menu = element.selectmenu("menuWidget"), - selected = element.find("option:selected"); + menu = element.selectmenu("menuWidget"); button.simulate( "focus" ); links = menu.find("li.ui-menu-item a"); diff --git a/tests/unit/selectmenu/selectmenu_methods.js b/tests/unit/selectmenu/selectmenu_methods.js index d90098dcf..68ff6110c 100644 --- a/tests/unit/selectmenu/selectmenu_methods.js +++ b/tests/unit/selectmenu/selectmenu_methods.js @@ -91,7 +91,6 @@ test("refresh - disabled option", function () { var disabledItem, element = $('#speed').selectmenu(), - button = element.selectmenu("widget").parent(), menu = element.selectmenu("menuWidget").parent(); element.attr("disabled", "disabled"); @@ -108,7 +107,6 @@ test("refresh - disabled optgroup", function () { var i, item, element = $('#files').selectmenu(), - button = element.selectmenu("widget").parent(), menu = element.selectmenu("menuWidget").parent(), originalDisabledOptgroup = element.find("optgroup").first(), originalDisabledOptions = originalDisabledOptgroup.find("option"); @@ -132,13 +130,13 @@ test( "widget", function() { expect( 4 ); var element = $('#speed').selectmenu(), widgetElement = element.selectmenu( "widget" ), - menuWidgetElement = element.selectmenu( "menuWidget" ); - + menuWidgetElement = element.selectmenu( "menuWidget" ); + element.selectmenu("refresh"); - + equal( widgetElement.length, 1, "widget: one element" ); ok( widgetElement.is("a.ui-button"), "widget: button element" ); - + equal( menuWidgetElement.length, 1, "menuWidget: one element" ); ok( menuWidgetElement.is("ul.ui-menu"), "menuWidget: menu element" ); }); -- cgit v1.2.3 From d24e62badecac28acd05d1502ffcbab3c8a58082 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Tue, 13 Nov 2012 22:28:10 +0100 Subject: Selectmenu tests: lint fixes --- tests/visual/selectmenu/compatibility.html | 8 ++++---- tests/visual/selectmenu/empty.html | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'tests') diff --git a/tests/visual/selectmenu/compatibility.html b/tests/visual/selectmenu/compatibility.html index d73950772..1bf80b4c7 100644 --- a/tests/visual/selectmenu/compatibility.html +++ b/tests/visual/selectmenu/compatibility.html @@ -141,8 +141,8 @@
        - - @@ -163,8 +163,8 @@

        Test Link

        - - diff --git a/tests/visual/selectmenu/empty.html b/tests/visual/selectmenu/empty.html index 55827c1ec..9b8d36dfc 100644 --- a/tests/visual/selectmenu/empty.html +++ b/tests/visual/selectmenu/empty.html @@ -29,11 +29,11 @@
        - - + + -
        -- cgit v1.2.3 From 0d4a8dca55562131212f2638af4bf05052a41b2a Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Fri, 23 Nov 2012 13:45:01 +0100 Subject: Selectmenu tests: Upgrade jQuery to 1.8.3 --- tests/unit/selectmenu/all.html | 2 +- tests/unit/selectmenu/selectmenu.html | 1 - tests/visual/selectmenu/compatibility.html | 2 +- tests/visual/selectmenu/disabled.html | 2 +- tests/visual/selectmenu/empty.html | 2 +- tests/visual/selectmenu/events.html | 2 +- tests/visual/selectmenu/methods.html | 2 +- 7 files changed, 6 insertions(+), 7 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/all.html b/tests/unit/selectmenu/all.html index b7ffeeb09..98ff533c7 100644 --- a/tests/unit/selectmenu/all.html +++ b/tests/unit/selectmenu/all.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu Test Suite - + diff --git a/tests/unit/selectmenu/selectmenu.html b/tests/unit/selectmenu/selectmenu.html index 9beea5d76..d05b4f2be 100644 --- a/tests/unit/selectmenu/selectmenu.html +++ b/tests/unit/selectmenu/selectmenu.html @@ -4,7 +4,6 @@ jQuery UI Selectmenu Test Suite - diff --git a/tests/visual/selectmenu/compatibility.html b/tests/visual/selectmenu/compatibility.html index 1bf80b4c7..3d601d307 100644 --- a/tests/visual/selectmenu/compatibility.html +++ b/tests/visual/selectmenu/compatibility.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Compatibility with other widgets - + diff --git a/tests/visual/selectmenu/disabled.html b/tests/visual/selectmenu/disabled.html index 134e04a15..4617e5ba9 100644 --- a/tests/visual/selectmenu/disabled.html +++ b/tests/visual/selectmenu/disabled.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Disable functionality - + diff --git a/tests/visual/selectmenu/empty.html b/tests/visual/selectmenu/empty.html index 9b8d36dfc..4a4d1ab68 100644 --- a/tests/visual/selectmenu/empty.html +++ b/tests/visual/selectmenu/empty.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Methids functionality - + diff --git a/tests/visual/selectmenu/events.html b/tests/visual/selectmenu/events.html index 8561afa86..54bd91d8e 100644 --- a/tests/visual/selectmenu/events.html +++ b/tests/visual/selectmenu/events.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Events functionality - + diff --git a/tests/visual/selectmenu/methods.html b/tests/visual/selectmenu/methods.html index c3f5b92ee..cd0e3fb8b 100644 --- a/tests/visual/selectmenu/methods.html +++ b/tests/visual/selectmenu/methods.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Methods functionality - + -- cgit v1.2.3 From d1c9837a51920d90ad7473d5eb5793e86ebe4ee3 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 29 Nov 2012 20:35:29 +0100 Subject: Selectmenu tests: remove themeswitcher as its no longer available --- tests/visual/selectmenu/compatibility.html | 9 --------- 1 file changed, 9 deletions(-) (limited to 'tests') diff --git a/tests/visual/selectmenu/compatibility.html b/tests/visual/selectmenu/compatibility.html index 3d601d307..cf0f94b61 100644 --- a/tests/visual/selectmenu/compatibility.html +++ b/tests/visual/selectmenu/compatibility.html @@ -177,14 +177,5 @@
        - - - -- cgit v1.2.3 From 6fd9d8f93cf92d3059c620d5b4df81e4cf0bca19 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 29 Nov 2012 20:36:48 +0100 Subject: Selectmenu tests: add button widget js file to fix compatibility test --- tests/visual/selectmenu/compatibility.html | 1 + 1 file changed, 1 insertion(+) (limited to 'tests') diff --git a/tests/visual/selectmenu/compatibility.html b/tests/visual/selectmenu/compatibility.html index cf0f94b61..b43ffd9c0 100644 --- a/tests/visual/selectmenu/compatibility.html +++ b/tests/visual/selectmenu/compatibility.html @@ -11,6 +11,7 @@ + -- cgit v1.2.3 From 812a90fc8221a1dd2fa79543917e765f1929c71e Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Wed, 12 Dec 2012 18:37:57 +0100 Subject: Selectmenu tests: improve focus event test so its possible to test for too much focus events from menu widget --- tests/unit/selectmenu/selectmenu_events.js | 33 +++++++++++++++--------------- 1 file changed, 17 insertions(+), 16 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index eb15fea0a..167a6695f 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -46,27 +46,28 @@ test("close", function () { test("focus", function () { expect(4); - var counter = 0, - button, - menu; + var button, + menu, + links; this.element.selectmenu({ focus: function (event, ui) { - counter++; - if (counter === 1) { - ok(event, "focus event fired on mouseover"); - equal(event.type, "selectmenufocus", "event type set to selectmenufocus"); - ok(ui, "ui object is passed as second argument to event handler"); - equal(ui.item.element[0].nodeName, "OPTION", "ui points to original option element"); - } + ok(event, "focus event fired on mouseover"); + equal(event.type, "selectmenufocus", "event type set to selectmenufocus"); + ok(ui, "ui object is passed as second argument to event handler"); + equal(ui.item.element[0].nodeName, "OPTION", "ui points to original option element"); } }); - - button = this.element.selectmenu("widget").parent(); - menu = this.element.selectmenu("menuWidget").parent(); - - button.find("a").simulate( "focus" ).simulate( "click" ); - menu.find(".ui-menu-item").simulate("mouseover"); + + button = this.element.selectmenu("widget"), + menu = this.element.selectmenu("menuWidget"); + + button.simulate( "focus" ); + links = menu.find("li.ui-menu-item a"); + + button.simulate( "click" ); + + menu.find("a").last().simulate( "mouseover" ); }); -- cgit v1.2.3 From 21e46b8bc6cf09cb22ac041074275507539d9d80 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 13 Dec 2012 01:15:48 +0100 Subject: Selectmenu tests: improve and merge visual tests --- tests/visual/selectmenu/disabled.html | 135 ---------------------- tests/visual/selectmenu/disabled_empty.html | 168 ++++++++++++++++++++++++++++ tests/visual/selectmenu/empty.html | 73 ------------ tests/visual/selectmenu/events.html | 73 ------------ tests/visual/selectmenu/events_methods.html | 119 ++++++++++++++++++++ tests/visual/selectmenu/methods.html | 86 -------------- 6 files changed, 287 insertions(+), 367 deletions(-) delete mode 100644 tests/visual/selectmenu/disabled.html create mode 100644 tests/visual/selectmenu/disabled_empty.html delete mode 100644 tests/visual/selectmenu/empty.html delete mode 100644 tests/visual/selectmenu/events.html create mode 100644 tests/visual/selectmenu/events_methods.html delete mode 100644 tests/visual/selectmenu/methods.html (limited to 'tests') diff --git a/tests/visual/selectmenu/disabled.html b/tests/visual/selectmenu/disabled.html deleted file mode 100644 index 4617e5ba9..000000000 --- a/tests/visual/selectmenu/disabled.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - jQuery UI Selectmenu - Disable functionality - - - - - - - - - - - - - -
        - - -
        - - -
        -
        -
        - - -
        -
        -
        - - -
        -
        -
        - - -
        - -
        - - - - -
        - - - - - diff --git a/tests/visual/selectmenu/disabled_empty.html b/tests/visual/selectmenu/disabled_empty.html new file mode 100644 index 000000000..a15b333b1 --- /dev/null +++ b/tests/visual/selectmenu/disabled_empty.html @@ -0,0 +1,168 @@ + + + + + jQuery UI Selectmenu - Disabled & empty elements functionality + + + + + + + + + + + + + +
        + +
        +

        Disabled Tests

        +
        + + +
        +
        + + +
        +
        + + +
        +
        + + + + + +
        +
        +

        Disabled Tests

        +
        + +
        +
        + +
        +
        + +
        +
        + +
        +
        +
        + +
        + + + + + diff --git a/tests/visual/selectmenu/empty.html b/tests/visual/selectmenu/empty.html deleted file mode 100644 index 4a4d1ab68..000000000 --- a/tests/visual/selectmenu/empty.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - jQuery UI Selectmenu - Methids functionality - - - - - - - - - - - - - -
        - -
        -
        - - - - - -
        -
        -
        - - -
        -
        -
        - - -
        -
        - -
        - - - - - diff --git a/tests/visual/selectmenu/events.html b/tests/visual/selectmenu/events.html deleted file mode 100644 index 54bd91d8e..000000000 --- a/tests/visual/selectmenu/events.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - jQuery UI Selectmenu - Events functionality - - - - - - - - - - - - - -
        - - -
        - Log: -
        -
        - -
        -
        - - -
        -
        - -
        - - - - - diff --git a/tests/visual/selectmenu/events_methods.html b/tests/visual/selectmenu/events_methods.html new file mode 100644 index 000000000..2829337b4 --- /dev/null +++ b/tests/visual/selectmenu/events_methods.html @@ -0,0 +1,119 @@ + + + + + jQuery UI Selectmenu - Events & methods functionality + + + + + + + + + + + + + +
        + + +
        + Log: +
        +
        + +
        +
        +
        + + +
        + + + + + + +
        +
        + +
        + + + + + diff --git a/tests/visual/selectmenu/methods.html b/tests/visual/selectmenu/methods.html deleted file mode 100644 index cd0e3fb8b..000000000 --- a/tests/visual/selectmenu/methods.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - jQuery UI Selectmenu - Methods functionality - - - - - - - - - - - - - -
        - -
        -
        - - -
        -
        -
        - - - - - - - -
        - - - - - -- cgit v1.2.3 From 25023c30407b92a5c44f117df560b9c87d6d94da Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Sat, 15 Dec 2012 01:07:10 +0100 Subject: Selectmenu tests: fixed headlines in disable / empty visual test --- tests/visual/selectmenu/disabled_empty.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/visual/selectmenu/disabled_empty.html b/tests/visual/selectmenu/disabled_empty.html index a15b333b1..199bac7f5 100644 --- a/tests/visual/selectmenu/disabled_empty.html +++ b/tests/visual/selectmenu/disabled_empty.html @@ -61,7 +61,7 @@
        -

        Disabled Tests

        +

        Disabled tests


        -- cgit v1.2.3 From 930e9d59937a264c652037c3a85bfa1145f416c3 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Sat, 15 Dec 2012 02:23:04 +0100 Subject: Selectmenu tests: adjust common test to new appendTo mechanism --- tests/unit/selectmenu/selectmenu_common.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_common.js b/tests/unit/selectmenu/selectmenu_common.js index 6ce79ff15..11e536e70 100644 --- a/tests/unit/selectmenu/selectmenu_common.js +++ b/tests/unit/selectmenu/selectmenu_common.js @@ -1,6 +1,6 @@ TestHelpers.commonWidgetTests( "selectmenu", { defaults: { - appendTo: "body", + appendTo: null, disabled: false, dropdown: true, position: { -- cgit v1.2.3 From ae68ab8118d68ff7cd5114058d0243b6b0970ca8 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Sat, 15 Dec 2012 02:24:10 +0100 Subject: Selectmenu tests: improve appendTo option tests --- tests/unit/selectmenu/selectmenu.html | 19 +++++++------ tests/unit/selectmenu/selectmenu_options.js | 41 ++++++++++++++++++++++++++--- 2 files changed, 48 insertions(+), 12 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu.html b/tests/unit/selectmenu/selectmenu.html index d05b4f2be..a89b2d37d 100644 --- a/tests/unit/selectmenu/selectmenu.html +++ b/tests/unit/selectmenu/selectmenu.html @@ -37,15 +37,18 @@

          +
          - - +
          + + +
          @@ -82,7 +83,7 @@

          - +

          - +

          - + +
          + +

          -

          - @@ -158,7 +162,8 @@

          - -- cgit v1.2.3 From 4c930fd59b9d2985074a3ad2d665f111d9d7d64c Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Mon, 29 Apr 2013 23:15:56 +0200 Subject: Selectmenu Tests: add spaces to [0] --- tests/unit/selectmenu/selectmenu_core.js | 2 +- tests/unit/selectmenu/selectmenu_events.js | 6 +++--- tests/unit/selectmenu/selectmenu_options.js | 14 +++++++------- 3 files changed, 11 insertions(+), 11 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 69414f1b2..6c9ce5221 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -20,7 +20,7 @@ test("accessibility", function () { equal( button.attr( "aria-owns" ), menu.attr("id"), "button link aria-owns" ); equal( button.attr( "aria-labelledby" ), - links.eq( element[0].selectedIndex ).attr( "id" ), + links.eq( element[ 0 ].selectedIndex ).attr( "id" ), "button link aria-labelledby" ); equal( button.attr( "tabindex" ), 0, "button link tabindex" ); diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index aefd78b94..8fd85a851 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -13,7 +13,7 @@ test( "change", function () { change: function ( event, ui ) { ok( event, "change event fired on change" ); equal( event.type, "selectmenuchange", "event type set to selectmenuchange" ); - equal( ui.item.element[ 0 ].nodeName.toLowerCase(), "option", "ui.item.element[0] points to original option element" ); + equal( ui.item.element[ 0 ].nodeName.toLowerCase(), "option", "ui.item.element[ 0 ] points to original option element" ); equal( ui.item.value, value, "ui.item.value property updated correctly" ); } }); @@ -50,7 +50,7 @@ test( "focus", function () { focus: function ( event, ui ) { ok( event, "focus event fired on mouseover" ); equal( event.type, "selectmenufocus", "event type set to selectmenufocus" ); - equal( ui.item.element[0].nodeName.toLowerCase(), "option", "ui points to original option element" ); + equal( ui.item.element[ 0 ].nodeName.toLowerCase(), "option", "ui points to original option element" ); } }); @@ -89,7 +89,7 @@ test( "select", function () { select: function ( event, ui ) { ok( event, "select event fired on item select" ); equal( event.type, "selectmenuselect", "event type set to selectmenuselect" ); - equal( ui.item.element[0].nodeName.toLowerCase(), "option", "ui points to original option element" ); + equal( ui.item.element[ 0 ].nodeName.toLowerCase(), "option", "ui points to original option element" ); } }); diff --git a/tests/unit/selectmenu/selectmenu_options.js b/tests/unit/selectmenu/selectmenu_options.js index 720142759..82ea6a8b4 100644 --- a/tests/unit/selectmenu/selectmenu_options.js +++ b/tests/unit/selectmenu/selectmenu_options.js @@ -7,40 +7,40 @@ test( "appendTo another element", function () { var detached = $( "
          " ), element = $( "#speed" ).selectmenu(); - equal( element.selectmenu( "menuWidget" ).parent().parent()[0], document.body, "defaults to body" ); + equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ], document.body, "defaults to body" ); element.selectmenu( "destroy" ); element.selectmenu({ appendTo: ".selectmenu-wrap" }); - equal( element.selectmenu( "menuWidget" ).parent().parent()[0], $( "#selectmenu-wrap1" )[0], "first found element" ); + equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ], $( "#selectmenu-wrap1" )[ 0 ], "first found element" ); equal( $( "#selectmenu-wrap2 .ui-selectmenu" ).length, 0, "only appends to one element" ); element.selectmenu( "destroy" ); $( "#selectmenu-wrap2" ).addClass( "ui-front" ); element.selectmenu(); - equal( element.selectmenu( "menuWidget" ).parent().parent()[0], $( "#selectmenu-wrap2" )[0], "null, inside .ui-front" ); + equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ], $( "#selectmenu-wrap2" )[ 0 ], "null, inside .ui-front" ); element.selectmenu( "destroy" ); $( "#selectmenu-wrap2" ).removeClass( "ui-front" ); element.selectmenu().selectmenu( "option", "appendTo", "#selectmenu-wrap1" ); - equal( element.selectmenu( "menuWidget" ).parent().parent()[0], $( "#selectmenu-wrap1" )[0], "modified after init" ); + equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ], $( "#selectmenu-wrap1" )[ 0 ], "modified after init" ); element.selectmenu( "destroy" ); element.selectmenu({ appendTo: detached }); - equal( element.selectmenu( "menuWidget" ).parent().parent()[0], detached[0], "detached jQuery object" ); + equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ], detached[ 0 ], "detached jQuery object" ); element.selectmenu( "destroy" ); element.selectmenu({ appendTo: detached[ 0 ] }); - equal( element.selectmenu( "menuWidget" ).parent().parent()[0], detached[0], "detached DOM element" ); + equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ], detached[ 0 ], "detached DOM element" ); element.selectmenu( "destroy" ); element.selectmenu().selectmenu( "option", "appendTo", detached ); - equal( element.selectmenu( "menuWidget" ).parent().parent()[0], detached[0], "detached DOM element via option()" ); + equal( element.selectmenu( "menuWidget" ).parent().parent()[ 0 ], detached[ 0 ], "detached DOM element via option()" ); element.selectmenu( "destroy" ); }); -- cgit v1.2.3 From f96ee5e0488e28445fc4ebcc254dfa10aad2b1c9 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Mon, 29 Apr 2013 23:38:50 +0200 Subject: Tests: added Selectenu to Dialog Widgets compound test --- tests/visual/compound/dialog_widgets.html | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/visual/compound/dialog_widgets.html b/tests/visual/compound/dialog_widgets.html index bc4777a56..67823d453 100644 --- a/tests/visual/compound/dialog_widgets.html +++ b/tests/visual/compound/dialog_widgets.html @@ -22,6 +22,7 @@ + + + + + + + + + + + + +
          + +
          + +
          +
          + +
          +
          + + + diff --git a/tests/visual/selectmenu/compatibility.html b/tests/visual/selectmenu/compatibility.html deleted file mode 100644 index d849e091d..000000000 --- a/tests/visual/selectmenu/compatibility.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - jQuery UI Selectmenu - Compatibility with other widgets - - - - - - - - - - - - - - - - - -
          - -
          - - -
          - - - - -
          - -
          -

          Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.

          -
          -
          - -
          - - -
          - -
          -
          -

          Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.

          -

          Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.

          -
          -
          - -
          -

          Some example content

          -

          Test Link

          -
          -
          - - -
          -
          -
          - -
          - - - -- cgit v1.2.3 From adcfa63ac4f4541729316dcbc89359486db4486a Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Wed, 1 May 2013 00:33:37 +0200 Subject: Selectmenu Tests: use asyncTest when working with focus events --- tests/unit/selectmenu/selectmenu_core.js | 181 +++++++++++++++++-------------- 1 file changed, 98 insertions(+), 83 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 6c9ce5221..9e1ec6e1d 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -2,7 +2,7 @@ module( "selectmenu: core" ); -test("accessibility", function () { +asyncTest("accessibility", function () { var links, element = $( "#speed" ).selectmenu(), button = element.selectmenu( "widget" ), @@ -13,31 +13,34 @@ test("accessibility", function () { expect(12 + links.length * 2); - equal( button.attr( "role" ), "combobox", "button link role" ); - equal( button.attr( "aria-haspopup" ), "true", "button link aria-haspopup" ); - equal( button.attr( "aria-expanded" ), "false", "button link aria-expanded" ); - equal( button.attr( "aria-autocomplete" ), "list", "button link aria-autocomplete" ); - equal( button.attr( "aria-owns" ), menu.attr("id"), "button link aria-owns" ); - equal( - button.attr( "aria-labelledby" ), - links.eq( element[ 0 ].selectedIndex ).attr( "id" ), - "button link aria-labelledby" - ); - equal( button.attr( "tabindex" ), 0, "button link tabindex" ); - - equal( menu.attr( "role" ), "listbox", "menu role" ); - equal( menu.attr( "aria-labelledby" ), button.attr( "id" ), "menu aria-labelledby" ); - equal( menu.attr( "aria-hidden" ), "true", "menu aria-hidden" ); - equal( menu.attr( "tabindex" ), 0, "menu tabindex" ); - equal( - menu.attr( "aria-activedescendant" ), - links.eq( element[ 0 ].selectedIndex ).attr( "id" ), - "menu aria-activedescendant" - ); - $.each( links, function( index ){ - equal( $( this ).attr( "role" ), "option", "menu link #" + index +" role" ); - equal( $( this ).attr( "tabindex" ), -1, "menu link #" + index +" tabindex" ); - }); + setTimeout(function() { + equal( button.attr( "role" ), "combobox", "button link role" ); + equal( button.attr( "aria-haspopup" ), "true", "button link aria-haspopup" ); + equal( button.attr( "aria-expanded" ), "false", "button link aria-expanded" ); + equal( button.attr( "aria-autocomplete" ), "list", "button link aria-autocomplete" ); + equal( button.attr( "aria-owns" ), menu.attr("id"), "button link aria-owns" ); + equal( + button.attr( "aria-labelledby" ), + links.eq( element[ 0 ].selectedIndex ).attr( "id" ), + "button link aria-labelledby" + ); + equal( button.attr( "tabindex" ), 0, "button link tabindex" ); + + equal( menu.attr( "role" ), "listbox", "menu role" ); + equal( menu.attr( "aria-labelledby" ), button.attr( "id" ), "menu aria-labelledby" ); + equal( menu.attr( "aria-hidden" ), "true", "menu aria-hidden" ); + equal( menu.attr( "tabindex" ), 0, "menu tabindex" ); + equal( + menu.attr( "aria-activedescendant" ), + links.eq( element[ 0 ].selectedIndex ).attr( "id" ), + "menu aria-activedescendant" + ); + $.each( links, function( index ){ + equal( $( this ).attr( "role" ), "option", "menu link #" + index +" role" ); + equal( $( this ).attr( "tabindex" ), -1, "menu link #" + index +" tabindex" ); + }); + start(); + }, 1 ); }); @@ -51,7 +54,7 @@ $.each([ selector: "#files" } ], function( i, settings ) { - test( "state synchronization - after keydown on button - " + settings.type, function () { + asyncTest( "state synchronization - after keydown on button - " + settings.type, function () { expect( 4 ); var links, @@ -61,28 +64,31 @@ $.each([ selected = element.find( "option:selected" ); button.simulate( "focus" ); - links = menu.find("li.ui-menu-item a"); - - button.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); - equal( - menu.attr( "aria-activedescendant" ), - links.eq( element[ 0 ].selectedIndex ).attr( "id" ), - "menu aria-activedescendant" - ); - equal( - button.attr( "aria-activedescendant" ), - links.eq( element[ 0 ].selectedIndex ).attr( "id" ), - "button aria-activedescendant" - ); - equal( - element.find( "option:selected" ).val(), - selected.next( "option" ).val() , - "original select state" - ); - equal( button.text(), selected.next( "option" ).text(), "button text" ); + setTimeout(function() { + links = menu.find("li.ui-menu-item a"); + + button.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); + equal( + menu.attr( "aria-activedescendant" ), + links.eq( element[ 0 ].selectedIndex ).attr( "id" ), + "menu aria-activedescendant" + ); + equal( + button.attr( "aria-activedescendant" ), + links.eq( element[ 0 ].selectedIndex ).attr( "id" ), + "button aria-activedescendant" + ); + equal( + element.find( "option:selected" ).val(), + selected.next( "option" ).val() , + "original select state" + ); + equal( button.text(), selected.next( "option" ).text(), "button text" ); + start(); + }, 1 ); }); - test("state synchronization - after click on item - " + settings.type, function () { + asyncTest("state synchronization - after click on item - " + settings.type, function () { expect(4); var links, @@ -91,29 +97,32 @@ $.each([ menu = element.selectmenu( "menuWidget" ); button.simulate( "focus" ); - links = menu.find("li.ui-menu-item a"); - - button.simulate( "click" ); - menu.find( "a" ).last().simulate( "mouseover" ).trigger( "click" ); - equal( - menu.attr( "aria-activedescendant" ), - links.eq( element[ 0 ].selectedIndex ).attr( "id" ), - "menu aria-activedescendant" - ); - equal( - button.attr( "aria-activedescendant" ), - links.eq( element[ 0 ].selectedIndex ).attr( "id" ), - "button aria-activedescendant" - ); - equal( - element.find( "option:selected" ).val(), - element.find( "option" ).last().val(), - "original select state" - ); - equal( button.text(), element.find( "option" ).last().text(), "button text" ); + setTimeout(function() { + links = menu.find("li.ui-menu-item a"); + + button.simulate( "click" ); + menu.find( "a" ).last().simulate( "mouseover" ).trigger( "click" ); + equal( + menu.attr( "aria-activedescendant" ), + links.eq( element[ 0 ].selectedIndex ).attr( "id" ), + "menu aria-activedescendant" + ); + equal( + button.attr( "aria-activedescendant" ), + links.eq( element[ 0 ].selectedIndex ).attr( "id" ), + "button aria-activedescendant" + ); + equal( + element.find( "option:selected" ).val(), + element.find( "option" ).last().val(), + "original select state" + ); + equal( button.text(), element.find( "option" ).last().text(), "button text" ); + start(); + }, 1 ); }); - test( "state synchronization - after focus item and keydown on button - " + settings.type, function () { + asyncTest( "state synchronization - after focus item and keydown on button - " + settings.type, function () { expect(4); var links, @@ -124,22 +133,28 @@ $.each([ // init menu button.simulate( "focus" ); - links = menu.find( "li.ui-menu-item a" ); - // open menu and click first item - button.simulate( "click" ); - links.first().simulate( "mouseover" ).trigger( "click" ); - // open menu again and hover item - button.simulate( "click" ); - links.eq(3).simulate( "mouseover" ); - // close and use keyboard control on button - button.simulate( "keydown", { keyCode: $.ui.keyCode.ESCAPE } ); - button.simulate( "focus" ); - button.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); - equal( menu.attr( "aria-activedescendant" ), links.eq( 1 ).attr( "id" ), "menu aria-activedescendant" ); - equal( button.attr( "aria-activedescendant" ), links.eq( 1 ).attr( "id" ), "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" ); + setTimeout(function() { + links = menu.find( "li.ui-menu-item a" ); + // open menu and click first item + button.simulate( "click" ); + links.first().simulate( "mouseover" ).trigger( "click" ); + // open menu again and hover item + button.simulate( "click" ); + links.eq(3).simulate( "mouseover" ); + // close and use keyboard control on button + button.simulate( "keydown", { keyCode: $.ui.keyCode.ESCAPE } ); + button.simulate( "focus" ); + setTimeout(function() { + button.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); + + equal( menu.attr( "aria-activedescendant" ), links.eq( 1 ).attr( "id" ), "menu aria-activedescendant" ); + equal( button.attr( "aria-activedescendant" ), links.eq( 1 ).attr( "id" ), "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" ); + start(); + }, 1 ); + }, 1 ); }); }); -- cgit v1.2.3 From ef8c792db85b9c6177dd8c4ee5b5fda4fab795a0 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Tue, 7 May 2013 22:13:57 +0200 Subject: Selectmenu Tests: fixed spacing --- tests/unit/selectmenu/selectmenu_core.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 9e1ec6e1d..aadea0f29 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -2,7 +2,7 @@ module( "selectmenu: core" ); -asyncTest("accessibility", function () { +asyncTest( "accessibility", function() { var links, element = $( "#speed" ).selectmenu(), button = element.selectmenu( "widget" ), @@ -11,7 +11,7 @@ asyncTest("accessibility", function () { button.simulate( "focus" ); links = menu.find( "li.ui-menu-item a" ); - expect(12 + links.length * 2); + expect( 12 + links.length * 2 ); setTimeout(function() { equal( button.attr( "role" ), "combobox", "button link role" ); @@ -88,8 +88,8 @@ $.each([ }, 1 ); }); - asyncTest("state synchronization - after click on item - " + settings.type, function () { - expect(4); + asyncTest( "state synchronization - after click on item - " + settings.type, function () { + expect( 4 ); var links, element = $( settings.selector ).selectmenu(), @@ -123,7 +123,7 @@ $.each([ }); asyncTest( "state synchronization - after focus item and keydown on button - " + settings.type, function () { - expect(4); + expect( 4 ); var links, element = $( settings.selector ).selectmenu(), @@ -141,7 +141,7 @@ $.each([ links.first().simulate( "mouseover" ).trigger( "click" ); // open menu again and hover item button.simulate( "click" ); - links.eq(3).simulate( "mouseover" ); + links.eq( 3 ).simulate( "mouseover" ); // close and use keyboard control on button button.simulate( "keydown", { keyCode: $.ui.keyCode.ESCAPE } ); button.simulate( "focus" ); -- cgit v1.2.3 From 1c878ce844e0967234253ba7a58827e5cd87333c Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Tue, 7 May 2013 22:17:41 +0200 Subject: Selectmenu Tests: simplify asyncTest --- tests/unit/selectmenu/selectmenu_core.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index aadea0f29..c4f43b681 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -40,7 +40,7 @@ asyncTest( "accessibility", function() { equal( $( this ).attr( "tabindex" ), -1, "menu link #" + index +" tabindex" ); }); start(); - }, 1 ); + }); }); -- cgit v1.2.3 From 97cca1ed78e902b8580fb88da37122bf20893d89 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Sun, 12 May 2013 21:02:03 +0200 Subject: Selectmenu Tests: improve events tests, check for original option element not only for node type --- tests/unit/selectmenu/selectmenu_events.js | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index 8fd85a851..99d5b591c 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -8,19 +8,21 @@ module( "selectmenu: events", { test( "change", function () { expect( 4 ); + + var that = this; this.element.selectmenu({ change: function ( event, ui ) { ok( event, "change event fired on change" ); equal( event.type, "selectmenuchange", "event type set to selectmenuchange" ); - equal( ui.item.element[ 0 ].nodeName.toLowerCase(), "option", "ui.item.element[ 0 ] points to original option element" ); - equal( ui.item.value, value, "ui.item.value property updated correctly" ); + equal( ui.item.element[ 0 ], options.eq( ui.item.index )[ 0 ], "ui.item.element contains original option element" ); + equal( ui.item.value, options.eq( ui.item.index ).text(), "ui.item.value property updated correctly" ); } }); var button = this.element.selectmenu( "widget" ), menu = this.element.selectmenu( "menuWidget" ).parent(), - value = this.element.find( "option" ).first().text(); + options = this.element.find( "option" ); button.simulate( "focus" ).simulate( "click" ); menu.find( "a" ).first().simulate( "mouseover" ).simulate( "click" ); @@ -44,13 +46,14 @@ test( "close", function () { test( "focus", function () { expect( 3 ); - var button, menu, links; + var button, menu, links, + options = this.element.find( "option" ); this.element.selectmenu({ focus: function ( event, ui ) { ok( event, "focus event fired on mouseover" ); equal( event.type, "selectmenufocus", "event type set to selectmenufocus" ); - equal( ui.item.element[ 0 ].nodeName.toLowerCase(), "option", "ui points to original option element" ); + equal( ui.item.element[ 0 ], options.eq( ui.item.index )[ 0 ], "ui.item.element contains original option element" ); } }); @@ -89,12 +92,13 @@ test( "select", function () { select: function ( event, ui ) { ok( event, "select event fired on item select" ); equal( event.type, "selectmenuselect", "event type set to selectmenuselect" ); - equal( ui.item.element[ 0 ].nodeName.toLowerCase(), "option", "ui points to original option element" ); + equal( ui.item.element[ 0 ], options.eq( ui.item.index )[ 0 ], "ui.item.element contains original option element" ); } }); var button = this.element.selectmenu( "widget" ), - menu = this.element.selectmenu( "menuWidget" ).parent(); + menu = this.element.selectmenu( "menuWidget" ).parent(), + options = this.element.find( "option" ); button.simulate( "focus" ).simulate( "click" ); menu.find( "a" ).first().simulate( "mouseover" ).simulate( "click" ); -- cgit v1.2.3 From 29f726c55351ea78d01a04d25986b15da7b56d63 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 30 May 2013 21:02:38 +0200 Subject: Selectmenu tests: improve focus callback event test, add keydown focus test, add multiple focus events test --- tests/unit/selectmenu/selectmenu_events.js | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index 99d5b591c..49f0c598c 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -44,29 +44,36 @@ test( "close", function () { test( "focus", function () { - expect( 3 ); + expect( 12 ); var button, menu, links, + optionIndex = this.element[ 0 ].selectedIndex + 1, options = this.element.find( "option" ); this.element.selectmenu({ focus: function ( event, ui ) { - ok( event, "focus event fired on mouseover" ); + ok( event, "focus event fired on element #" + optionIndex + " mouseover" ); equal( event.type, "selectmenufocus", "event type set to selectmenufocus" ); - equal( ui.item.element[ 0 ], options.eq( ui.item.index )[ 0 ], "ui.item.element contains original option element" ); + equal( ui.item.index, optionIndex, "ui.item.index contains correct option index" ); + equal( ui.item.element[ 0 ], options.eq( optionIndex )[ 0 ], "ui.item.element contains original option element" ); } }); button = this.element.selectmenu( "widget" ), menu = this.element.selectmenu( "menuWidget" ); - button.simulate( "focus" ); - links = menu.find( "li.ui-menu-item a" ); - + button + .simulate( "focus" ) + .simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); + button.simulate( "click" ); + links = menu.find( "li.ui-menu-item a" ); + optionIndex = 0; + links.eq( optionIndex ).simulate( "mouseover" ); + optionIndex += 1; + links.eq( optionIndex ).simulate( "mouseover" ); - menu.find( "a" ).last().simulate( "mouseover" ); - + // this tests for unwanted, additional focus event on close this.element.selectmenu( "close" ); }); -- cgit v1.2.3 From 84ee9d86459215af856c9d73fde382fee7cbb874 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 30 May 2013 21:11:08 +0200 Subject: Selectmenu tests: improve all other focus callback event tests --- tests/unit/selectmenu/selectmenu_events.js | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index 49f0c598c..f1622adb9 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -7,16 +7,18 @@ module( "selectmenu: events", { }); test( "change", function () { - expect( 4 ); - - var that = this; + expect( 5 ); + + var that = this, + optionIndex = 1; this.element.selectmenu({ change: function ( event, ui ) { ok( event, "change event fired on change" ); equal( event.type, "selectmenuchange", "event type set to selectmenuchange" ); - equal( ui.item.element[ 0 ], options.eq( ui.item.index )[ 0 ], "ui.item.element contains original option element" ); - equal( ui.item.value, options.eq( ui.item.index ).text(), "ui.item.value property updated correctly" ); + equal( ui.item.index, optionIndex, "ui.item.index contains correct option index" ); + equal( ui.item.element[ 0 ], options.eq( optionIndex )[ 0 ], "ui.item.element contains original option element" ); + equal( ui.item.value, options.eq( optionIndex ).text(), "ui.item.value property updated correctly" ); } }); @@ -25,7 +27,7 @@ test( "change", function () { options = this.element.find( "option" ); button.simulate( "focus" ).simulate( "click" ); - menu.find( "a" ).first().simulate( "mouseover" ).simulate( "click" ); + menu.find( "a" ).eq( optionIndex ).simulate( "mouseover" ).simulate( "click" ); }); @@ -65,11 +67,11 @@ test( "focus", function () { button .simulate( "focus" ) .simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); - + button.simulate( "click" ); links = menu.find( "li.ui-menu-item a" ); optionIndex = 0; - links.eq( optionIndex ).simulate( "mouseover" ); + links.eq( optionIndex ).simulate( "mouseover" ); optionIndex += 1; links.eq( optionIndex ).simulate( "mouseover" ); @@ -93,22 +95,24 @@ test( "open", function () { test( "select", function () { - expect( 3 ); + expect( 4 ); this.element.selectmenu({ select: function ( event, ui ) { ok( event, "select event fired on item select" ); equal( event.type, "selectmenuselect", "event type set to selectmenuselect" ); - equal( ui.item.element[ 0 ], options.eq( ui.item.index )[ 0 ], "ui.item.element contains original option element" ); + equal( ui.item.index, optionIndex, "ui.item.index contains correct option index" ); + equal( ui.item.element[ 0 ], options.eq( optionIndex )[ 0 ], "ui.item.element contains original option element" ); } }); var button = this.element.selectmenu( "widget" ), menu = this.element.selectmenu( "menuWidget" ).parent(), - options = this.element.find( "option" ); + options = this.element.find( "option" ), + optionIndex = 1; button.simulate( "focus" ).simulate( "click" ); - menu.find( "a" ).first().simulate( "mouseover" ).simulate( "click" ); + menu.find( "a" ).eq( optionIndex ).simulate( "mouseover" ).simulate( "click" ); }); })(jQuery); -- cgit v1.2.3 From e7d200f308f477a39dc4dfce5ee693143fb5602f Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 30 May 2013 21:21:44 +0200 Subject: Selectmenu tests: test if close event is fired when selectmenu is closed by click on body --- tests/unit/selectmenu/selectmenu_events.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index f1622adb9..4d98c9dde 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -32,7 +32,7 @@ test( "change", function () { test( "close", function () { - expect( 2 ); + expect( 4 ); this.element.selectmenu({ close: function ( event, ui ) { @@ -40,8 +40,11 @@ test( "close", function () { equal( event.type, "selectmenuclose", "event type set to selectmenuclose" ); } }); - + this.element.selectmenu( "open" ).selectmenu( "close" ); + + this.element.selectmenu( "open" ); + $( "body" ).simulate( "click" ); }); -- cgit v1.2.3 From 33317c937221db14e670001324bfd3471717817c Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 30 May 2013 22:07:52 +0200 Subject: Selectmenu tests: combine visual tests to one --- tests/visual/selectmenu/disabled_empty.html | 182 -------------------- tests/visual/selectmenu/events_methods.html | 119 ------------- tests/visual/selectmenu/selectmenu.html | 248 ++++++++++++++++++++++++++++ 3 files changed, 248 insertions(+), 301 deletions(-) delete mode 100644 tests/visual/selectmenu/disabled_empty.html delete mode 100644 tests/visual/selectmenu/events_methods.html create mode 100644 tests/visual/selectmenu/selectmenu.html (limited to 'tests') diff --git a/tests/visual/selectmenu/disabled_empty.html b/tests/visual/selectmenu/disabled_empty.html deleted file mode 100644 index 4bdbf7f01..000000000 --- a/tests/visual/selectmenu/disabled_empty.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - jQuery UI Selectmenu - Disabled & empty elements functionality - - - - - - - - - - - - - -
          - -
          -

          Disabled tests

          -
          - - -
          -
          - - -
          -
          - - -
          -
          - - - - - -
          -
          -

          Empty tests

          -
          - - -
          -
          - - -
          -
          - - -
          -
          - - -
          -
          -
          - -
          - - - - - diff --git a/tests/visual/selectmenu/events_methods.html b/tests/visual/selectmenu/events_methods.html deleted file mode 100644 index e4c9e3d05..000000000 --- a/tests/visual/selectmenu/events_methods.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - jQuery UI Selectmenu - Events & methods functionality - - - - - - - - - - - - - -
          - - -
          - Log: -
          -
          - -
          -
          -
          - - -
          - - - - - - -
          -
          - -
          - - - - - diff --git a/tests/visual/selectmenu/selectmenu.html b/tests/visual/selectmenu/selectmenu.html new file mode 100644 index 000000000..d3159c743 --- /dev/null +++ b/tests/visual/selectmenu/selectmenu.html @@ -0,0 +1,248 @@ + + + + + Selectmenu Visual Test: Default + + + + + + + + + + + + +
          +

          Event logging tests

          +
          + + + + + + +
          + +
          +
          +
          + +
          +

          Disabled tests

          +
          + + + + + + + + + + + + + + +
          + +

          Empty tests

          +
          + + + + + + + + + + + +
          +
          + +
          + Log: +
          +
          + + + -- cgit v1.2.3 From 1821517d8130c9e028da90a69dab4f7643073884 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 30 May 2013 22:30:56 +0200 Subject: Selectmenu Tests: use asyncTest when working with focus events --- tests/unit/selectmenu/selectmenu_events.js | 67 ++++++++++++++++++----------- tests/unit/selectmenu/selectmenu_methods.js | 15 ++++--- 2 files changed, 50 insertions(+), 32 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index 4d98c9dde..4881e0bff 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -6,11 +6,12 @@ module( "selectmenu: events", { } }); -test( "change", function () { +asyncTest( "change", function () { expect( 5 ); var that = this, - optionIndex = 1; + optionIndex = 1, + button, menu, options; this.element.selectmenu({ change: function ( event, ui ) { @@ -22,12 +23,17 @@ test( "change", function () { } }); - var button = this.element.selectmenu( "widget" ), - menu = this.element.selectmenu( "menuWidget" ).parent(), - options = this.element.find( "option" ); + button = this.element.selectmenu( "widget" ); + menu = this.element.selectmenu( "menuWidget" ).parent(); + options = this.element.find( "option" ); - button.simulate( "focus" ).simulate( "click" ); - menu.find( "a" ).eq( optionIndex ).simulate( "mouseover" ).simulate( "click" ); + button.simulate( "focus" ); + + setTimeout(function() { + button.simulate( "click" ); + menu.find( "a" ).eq( optionIndex ).simulate( "mouseover" ).simulate( "click" ); + start(); + }, 1 ); }); @@ -40,20 +46,21 @@ test( "close", function () { equal( event.type, "selectmenuclose", "event type set to selectmenuclose" ); } }); - + this.element.selectmenu( "open" ).selectmenu( "close" ); - + this.element.selectmenu( "open" ); $( "body" ).simulate( "click" ); }); -test( "focus", function () { +asyncTest( "focus", function () { expect( 12 ); - var button, menu, links, + var that = this, optionIndex = this.element[ 0 ].selectedIndex + 1, - options = this.element.find( "option" ); + options = this.element.find( "option" ), + button, menu, links; this.element.selectmenu({ focus: function ( event, ui ) { @@ -67,19 +74,22 @@ test( "focus", function () { button = this.element.selectmenu( "widget" ), menu = this.element.selectmenu( "menuWidget" ); - button - .simulate( "focus" ) - .simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); + button.simulate( "focus" ) - button.simulate( "click" ); - links = menu.find( "li.ui-menu-item a" ); - optionIndex = 0; - links.eq( optionIndex ).simulate( "mouseover" ); - optionIndex += 1; - links.eq( optionIndex ).simulate( "mouseover" ); + setTimeout(function() { + button.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); - // this tests for unwanted, additional focus event on close - this.element.selectmenu( "close" ); + button.simulate( "click" ); + links = menu.find( "li.ui-menu-item a" ); + optionIndex = 0; + links.eq( optionIndex ).simulate( "mouseover" ); + optionIndex += 1; + links.eq( optionIndex ).simulate( "mouseover" ); + + // this tests for unwanted, additional focus event on close + that.element.selectmenu( "close" ); + start(); + }, 1 ); }); @@ -97,7 +107,7 @@ test( "open", function () { }); -test( "select", function () { +asyncTest( "select", function () { expect( 4 ); this.element.selectmenu({ @@ -114,8 +124,13 @@ test( "select", function () { options = this.element.find( "option" ), optionIndex = 1; - button.simulate( "focus" ).simulate( "click" ); - menu.find( "a" ).eq( optionIndex ).simulate( "mouseover" ).simulate( "click" ); + button.simulate( "focus" ); + + setTimeout(function() { + button.simulate( "click" ); + menu.find( "a" ).eq( optionIndex ).simulate( "mouseover" ).simulate( "click" ); + start(); + }, 1 ); }); })(jQuery); diff --git a/tests/unit/selectmenu/selectmenu_methods.js b/tests/unit/selectmenu/selectmenu_methods.js index 96efa9a6a..05f2404d1 100644 --- a/tests/unit/selectmenu/selectmenu_methods.js +++ b/tests/unit/selectmenu/selectmenu_methods.js @@ -68,7 +68,7 @@ test( "refresh - structure", function () { equal( element.find( "option" ).first().text(), menu.find( "li" ).not( ".ui-selectmenu-optgroup" ).first().text(), "changed item" ); }); -test( "refresh - change selected option", function () { +asyncTest( "refresh - change selected option", function () { expect( 3 ); var element = $( "#speed" ).selectmenu(), @@ -78,13 +78,16 @@ test( "refresh - change selected option", function () { button.simulate( "focus" ); - equal( element.find( "option:selected" ).text(), button.text(), "button text after focus" ); + setTimeout(function() { + equal( element.find( "option:selected" ).text(), button.text(), "button text after focus" ); - element.find( "option" ).eq( 2 ).removeAttr( "selected" ); - element.find( "option" ).eq( 0 ).attr( "selected", "selected" ); - element.selectmenu( "refresh" ); + element[ 0 ].selectedIndex = 0 + element.selectmenu( "refresh" ); + + equal( element.find( "option:selected" ).text(), button.text(), "button text after changing selected option" ); - equal( element.find( "option:selected" ).text(), button.text(), "button text after changing selected option" ); + start(); + }, 1 ); }); -- cgit v1.2.3 From ab48ae7e302770bb45f8aa99578303b2037e8e94 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Tue, 4 Jun 2013 21:16:13 +0200 Subject: Selectmenu tests: fix lint issues --- tests/unit/selectmenu/selectmenu_events.js | 11 +++++------ tests/unit/selectmenu/selectmenu_methods.js | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index 4881e0bff..572f502e8 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -9,8 +9,7 @@ module( "selectmenu: events", { asyncTest( "change", function () { expect( 5 ); - var that = this, - optionIndex = 1, + var optionIndex = 1, button, menu, options; this.element.selectmenu({ @@ -41,7 +40,7 @@ test( "close", function () { expect( 4 ); this.element.selectmenu({ - close: function ( event, ui ) { + close: function ( event ) { ok( event, "close event fired on close" ); equal( event.type, "selectmenuclose", "event type set to selectmenuclose" ); } @@ -71,10 +70,10 @@ asyncTest( "focus", function () { } }); - button = this.element.selectmenu( "widget" ), + button = this.element.selectmenu( "widget" ); menu = this.element.selectmenu( "menuWidget" ); - button.simulate( "focus" ) + button.simulate( "focus" ); setTimeout(function() { button.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); @@ -97,7 +96,7 @@ test( "open", function () { expect( 2 ); this.element.selectmenu({ - open: function ( event, ui ) { + open: function ( event ) { ok( event, "open event fired on open" ); equal( event.type, "selectmenuopen", "event type set to selectmenuopen" ); } diff --git a/tests/unit/selectmenu/selectmenu_methods.js b/tests/unit/selectmenu/selectmenu_methods.js index 05f2404d1..a4b4fabbe 100644 --- a/tests/unit/selectmenu/selectmenu_methods.js +++ b/tests/unit/selectmenu/selectmenu_methods.js @@ -81,7 +81,7 @@ asyncTest( "refresh - change selected option", function () { setTimeout(function() { equal( element.find( "option:selected" ).text(), button.text(), "button text after focus" ); - element[ 0 ].selectedIndex = 0 + element[ 0 ].selectedIndex = 0; element.selectmenu( "refresh" ); equal( element.find( "option:selected" ).text(), button.text(), "button text after changing selected option" ); -- cgit v1.2.3 From ab72fd16667cf08cadc0bf8b3375622b0d74d81a Mon Sep 17 00:00:00 2001 From: Jörn Zaefferer Date: Wed, 5 Jun 2013 15:22:03 +0200 Subject: Selectmenu: Fix htmllint warnings --- tests/visual/compound/dialog_widgets.html | 3 +-- tests/visual/selectmenu/selectmenu.html | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'tests') diff --git a/tests/visual/compound/dialog_widgets.html b/tests/visual/compound/dialog_widgets.html index e6173f581..35f369488 100644 --- a/tests/visual/compound/dialog_widgets.html +++ b/tests/visual/compound/dialog_widgets.html @@ -93,7 +93,7 @@
          Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
          Phasellus mattis tincidunt nibh.
          Nam dui erat, auctor a, dignissim quis, sollicitudin eu, felis. Pellentesque nisi urna, interdum eget, sagittis et, consequat vestibulum, lacus. Mauris porttitor ullamcorper augue.
          -
          +
          -
          Yay, another dialog. diff --git a/tests/visual/selectmenu/selectmenu.html b/tests/visual/selectmenu/selectmenu.html index d3159c743..df3971c9a 100644 --- a/tests/visual/selectmenu/selectmenu.html +++ b/tests/visual/selectmenu/selectmenu.html @@ -229,7 +229,7 @@ - -- cgit v1.2.3 From 2c9f5a8c01c25dd755fb60e9a80a046b9d53160e Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Mon, 1 Jul 2013 22:04:30 +0200 Subject: Selectmenu Tests: use trigger instead of simulate for click events in order to make tests work in IE/ and IE8 --- tests/unit/selectmenu/selectmenu_core.js | 6 +++--- tests/unit/selectmenu/selectmenu_events.js | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index c4f43b681..e6cbcbeed 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -100,7 +100,7 @@ $.each([ setTimeout(function() { links = menu.find("li.ui-menu-item a"); - button.simulate( "click" ); + button.trigger( "click" ); menu.find( "a" ).last().simulate( "mouseover" ).trigger( "click" ); equal( menu.attr( "aria-activedescendant" ), @@ -137,10 +137,10 @@ $.each([ setTimeout(function() { links = menu.find( "li.ui-menu-item a" ); // open menu and click first item - button.simulate( "click" ); + button.trigger( "click" ); links.first().simulate( "mouseover" ).trigger( "click" ); // open menu again and hover item - button.simulate( "click" ); + button.trigger( "click" ); links.eq( 3 ).simulate( "mouseover" ); // close and use keyboard control on button button.simulate( "keydown", { keyCode: $.ui.keyCode.ESCAPE } ); diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index 572f502e8..353780ee5 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -29,8 +29,8 @@ asyncTest( "change", function () { button.simulate( "focus" ); setTimeout(function() { - button.simulate( "click" ); - menu.find( "a" ).eq( optionIndex ).simulate( "mouseover" ).simulate( "click" ); + button.trigger( "click" ); + menu.find( "a" ).eq( optionIndex ).simulate( "mouseover" ).trigger( "click" ); start(); }, 1 ); }); @@ -49,7 +49,7 @@ test( "close", function () { this.element.selectmenu( "open" ).selectmenu( "close" ); this.element.selectmenu( "open" ); - $( "body" ).simulate( "click" ); + $( "body" ).trigger( "click" ); }); @@ -78,7 +78,7 @@ asyncTest( "focus", function () { setTimeout(function() { button.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); - button.simulate( "click" ); + button.trigger( "click" ); links = menu.find( "li.ui-menu-item a" ); optionIndex = 0; links.eq( optionIndex ).simulate( "mouseover" ); @@ -126,8 +126,8 @@ asyncTest( "select", function () { button.simulate( "focus" ); setTimeout(function() { - button.simulate( "click" ); - menu.find( "a" ).eq( optionIndex ).simulate( "mouseover" ).simulate( "click" ); + button.trigger( "click" ); + menu.find( "a" ).eq( optionIndex ).simulate( "mouseover" ).trigger( "click" ); start(); }, 1 ); }); -- cgit v1.2.3 From 3483b9460bb8da116ad0d4aa19ee6f33b4134faa Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Mon, 1 Jul 2013 22:59:43 +0200 Subject: Selectmenu Tests: add item looping tests --- tests/unit/selectmenu/selectmenu_core.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index e6cbcbeed..5804b6f00 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -156,6 +156,34 @@ $.each([ }, 1 ); }, 1 ); }); + + asyncTest( "item looping - " + settings.type, function () { + expect( 2 ); + + var links, + element = $( settings.selector ).selectmenu(), + button = element.selectmenu( "widget" ), + menu = element.selectmenu( "menuWidget" ), + options = element.find( "option" ); + + // init menu + button.simulate( "focus" ); + + setTimeout(function() { + links = menu.find( "li.ui-menu-item a" ); + + button.trigger( "click" ); + links.first().simulate( "mouseover" ).trigger( "click" ); + button.simulate( "keydown", { keyCode: $.ui.keyCode.UP } ); + equal( element[ 0 ].selectedIndex, 0, "No looping beyond first item" ); + + button.trigger( "click" ); + links.last().simulate( "mouseover" ).trigger( "click" ); + button.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); + equal( element[ 0 ].selectedIndex + 1, links.length, "No looping behind last item" ); + start(); + }, 1 ); + }); }); })( jQuery ); -- cgit v1.2.3 From b9fa8f7a8c1f00ec987447feebae66f9563138d8 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Mon, 1 Jul 2013 23:08:55 +0200 Subject: Selectmenu Tests: fix lint issues --- tests/unit/selectmenu/selectmenu_core.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 5804b6f00..21b4adb4d 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -163,8 +163,7 @@ $.each([ var links, element = $( settings.selector ).selectmenu(), button = element.selectmenu( "widget" ), - menu = element.selectmenu( "menuWidget" ), - options = element.find( "option" ); + menu = element.selectmenu( "menuWidget" ); // init menu button.simulate( "focus" ); -- cgit v1.2.3 From 2290e308918c5edc28b8f4432e0f46c100ec2cc1 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Tue, 9 Jul 2013 23:00:22 +0200 Subject: Selectmenu: Updating jQuery to 1.10.2. --- demos/selectmenu/custom_render.html | 2 +- demos/selectmenu/default.html | 2 +- tests/visual/compound/tabs_selectmenu.html | 2 +- tests/visual/selectmenu/selectmenu.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/demos/selectmenu/custom_render.html b/demos/selectmenu/custom_render.html index 941c94da6..7d33eee8c 100644 --- a/demos/selectmenu/custom_render.html +++ b/demos/selectmenu/custom_render.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Default functionality - + diff --git a/demos/selectmenu/default.html b/demos/selectmenu/default.html index 62da27788..9775d190a 100644 --- a/demos/selectmenu/default.html +++ b/demos/selectmenu/default.html @@ -4,7 +4,7 @@ jQuery UI Selectmenu - Default functionality - + diff --git a/tests/visual/compound/tabs_selectmenu.html b/tests/visual/compound/tabs_selectmenu.html index ca4e53e92..9554562c5 100644 --- a/tests/visual/compound/tabs_selectmenu.html +++ b/tests/visual/compound/tabs_selectmenu.html @@ -5,7 +5,7 @@ Compound Visual Test : Selectmenu in Tabs - + diff --git a/tests/visual/selectmenu/selectmenu.html b/tests/visual/selectmenu/selectmenu.html index df3971c9a..fab7c0a7c 100644 --- a/tests/visual/selectmenu/selectmenu.html +++ b/tests/visual/selectmenu/selectmenu.html @@ -4,7 +4,7 @@ Selectmenu Visual Test: Default - + -- cgit v1.2.3 From a156c2cadc81acf0856feb95ad41fe5f1a38315e Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Sat, 3 Aug 2013 01:16:42 +0200 Subject: Selectmenu tests: check item focus --- tests/unit/selectmenu/selectmenu_core.js | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 21b4adb4d..1f97d8f17 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -183,6 +183,43 @@ $.each([ start(); }, 1 ); }); + + asyncTest( "item focus - " + settings.type, function () { + expect( 4 ); + + var element = $( settings.selector ).selectmenu(), + button = element.selectmenu( "widget" ), + menu = element.selectmenu( "menuWidget" ), + links, activeItem, focusedItem; + + // init menu + button.simulate( "focus" ); + + setTimeout(function() { + links = menu.find( "li.ui-menu-item a" ); + + button.trigger( "click" ); + focusedItem = menu.find( "li.ui-menu-item a.ui-state-focus" ); + equal( focusedItem.length, 1, "only one item has focus after first opening" ); + equal( focusedItem.attr( "id" ), links.eq( element[ 0 ].selectedIndex ).attr( "id" ), "active item has focus after first opening" ); + + links.eq( 3 ).simulate( "mouseover" ).trigger( "click" ); + + button.trigger( "click" ); + links.eq( 2 ).simulate( "mouseover" ); + $( document ).trigger( "click" ); + + button.trigger( "click" ); + links.eq( 1 ).simulate( "mouseover" ); + $( document ).trigger( "click" ); + + button.trigger( "click" ); + focusedItem = menu.find( "li.ui-menu-item a.ui-state-focus" ); + equal( focusedItem.length, 1, "only one item has focus" ); + equal( focusedItem.attr( "id" ), links.eq( element[ 0 ].selectedIndex ).attr( "id" ), "active item has focus" ); + start(); + }, 1 ); + }); }); })( jQuery ); -- cgit v1.2.3 From 24c293215c3dd645dcabc5c612d8b848637a81a5 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Tue, 13 Aug 2013 19:49:17 +0200 Subject: Selectmenu tests: lint fix --- tests/unit/selectmenu/selectmenu_core.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 1f97d8f17..72e6a4dbe 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -190,7 +190,7 @@ $.each([ var element = $( settings.selector ).selectmenu(), button = element.selectmenu( "widget" ), menu = element.selectmenu( "menuWidget" ), - links, activeItem, focusedItem; + links, focusedItem; // init menu button.simulate( "focus" ); -- cgit v1.2.3 From d668c94e3e62750e6277fe1dfb9b5faaabd84d2a Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Sat, 31 Aug 2013 03:10:52 +0200 Subject: Selectmenu Tests: check if button text is updated when selected option is added --- tests/unit/selectmenu/selectmenu_methods.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_methods.js b/tests/unit/selectmenu/selectmenu_methods.js index a4b4fabbe..f2b56e835 100644 --- a/tests/unit/selectmenu/selectmenu_methods.js +++ b/tests/unit/selectmenu/selectmenu_methods.js @@ -69,7 +69,7 @@ test( "refresh - structure", function () { }); asyncTest( "refresh - change selected option", function () { - expect( 3 ); + expect( 4 ); var element = $( "#speed" ).selectmenu(), button = element.selectmenu( "widget" ); @@ -83,9 +83,13 @@ asyncTest( "refresh - change selected option", function () { element[ 0 ].selectedIndex = 0; element.selectmenu( "refresh" ); - equal( element.find( "option:selected" ).text(), button.text(), "button text after changing selected option" ); + element.find( "option" ).removeAttr( "selected" ); + element.prepend( "" ); + element.selectmenu( "refresh" ); + equal( element.find( "option:selected" ).text(), button.text(), "button text after adding selected option" ); + start(); }, 1 ); }); -- cgit v1.2.3 From 4ddd14fe43fd0539b4d886db6a4c874c993e8739 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Wed, 4 Sep 2013 21:34:20 +0200 Subject: Selectmenu Tests: check CSS class on menu items --- tests/unit/selectmenu/selectmenu_core.js | 46 +++++++++++++++++++------------- 1 file changed, 28 insertions(+), 18 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index 72e6a4dbe..d8b449828 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -184,13 +184,13 @@ $.each([ }, 1 ); }); - asyncTest( "item focus - " + settings.type, function () { - expect( 4 ); + asyncTest( "item focus and active state - " + settings.type, function () { + expect( 8 ); var element = $( settings.selector ).selectmenu(), button = element.selectmenu( "widget" ), menu = element.selectmenu( "menuWidget" ), - links, focusedItem; + links, focusedItem, activeItem; // init menu button.simulate( "focus" ); @@ -199,26 +199,36 @@ $.each([ links = menu.find( "li.ui-menu-item a" ); button.trigger( "click" ); - focusedItem = menu.find( "li.ui-menu-item a.ui-state-focus" ); - equal( focusedItem.length, 1, "only one item has focus after first opening" ); - equal( focusedItem.attr( "id" ), links.eq( element[ 0 ].selectedIndex ).attr( "id" ), "active item has focus after first opening" ); + setTimeout(function() { + checkItemClasses(); - links.eq( 3 ).simulate( "mouseover" ).trigger( "click" ); + links.eq( 3 ).simulate( "mouseover" ).trigger( "click" ); - button.trigger( "click" ); - links.eq( 2 ).simulate( "mouseover" ); - $( document ).trigger( "click" ); + button.trigger( "click" ); + links.eq( 2 ).simulate( "mouseover" ); + $( document ).trigger( "click" ); - button.trigger( "click" ); - links.eq( 1 ).simulate( "mouseover" ); - $( document ).trigger( "click" ); + button.trigger( "click" ); + links.eq( 1 ).simulate( "mouseover" ); + $( document ).trigger( "click" ); - button.trigger( "click" ); - focusedItem = menu.find( "li.ui-menu-item a.ui-state-focus" ); - equal( focusedItem.length, 1, "only one item has focus" ); - equal( focusedItem.attr( "id" ), links.eq( element[ 0 ].selectedIndex ).attr( "id" ), "active item has focus" ); - start(); + button.trigger( "click" ); + setTimeout(function() { + checkItemClasses(); + start(); + }, 350 ); + }, 350 ); }, 1 ); + + function checkItemClasses() { + focusedItem = menu.find( "li.ui-menu-item a.ui-state-focus" ); + equal( focusedItem.length, 1, "only one item has ui-state-focus class" ); + equal( focusedItem.attr( "id" ), links.eq( element[ 0 ].selectedIndex ).attr( "id" ), "selected item has ui-state-focus class" ); + + activeItem = menu.find( "li.ui-menu-item a.ui-state-active" ); + equal( activeItem.length, 1, "only one item has ui-state-active class" ); + equal( activeItem.attr( "id" ), links.eq( element[ 0 ].selectedIndex ).attr( "id" ), "selected item has ui-state-active class" ); + } }); }); -- cgit v1.2.3 From f8377ed5afe083a916f965aee4a30a65dfd2560a Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Sun, 29 Sep 2013 15:41:47 +0200 Subject: Selectmenu Tests: add width options to common test --- tests/unit/selectmenu/selectmenu_common.js | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_common.js b/tests/unit/selectmenu/selectmenu_common.js index e34dd37fb..d5addff9a 100644 --- a/tests/unit/selectmenu/selectmenu_common.js +++ b/tests/unit/selectmenu/selectmenu_common.js @@ -10,6 +10,8 @@ TestHelpers.commonWidgetTests( "selectmenu", { at: "left bottom", collision: "none" }, + widthButton: null, + widthMenu: null, // callbacks create: null, -- cgit v1.2.3 From 7af3dab075b71b4a4b542e3e3201229399a56959 Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 10 Oct 2013 01:01:41 +0200 Subject: Selectmenu: Remove links in menu items --- tests/unit/selectmenu/selectmenu_core.js | 18 +++++++++--------- tests/unit/selectmenu/selectmenu_events.js | 6 +++--- themes/base/jquery.ui.selectmenu.css | 2 +- ui/jquery.ui.selectmenu.js | 16 +++++++--------- 4 files changed, 20 insertions(+), 22 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_core.js b/tests/unit/selectmenu/selectmenu_core.js index d8b449828..60c350eb3 100644 --- a/tests/unit/selectmenu/selectmenu_core.js +++ b/tests/unit/selectmenu/selectmenu_core.js @@ -9,7 +9,7 @@ asyncTest( "accessibility", function() { menu = element.selectmenu( "menuWidget" ); button.simulate( "focus" ); - links = menu.find( "li.ui-menu-item a" ); + links = menu.find( "li.ui-menu-item" ); expect( 12 + links.length * 2 ); @@ -65,7 +65,7 @@ $.each([ button.simulate( "focus" ); setTimeout(function() { - links = menu.find("li.ui-menu-item a"); + links = menu.find("li.ui-menu-item"); button.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); equal( @@ -98,10 +98,10 @@ $.each([ button.simulate( "focus" ); setTimeout(function() { - links = menu.find("li.ui-menu-item a"); + links = menu.find("li.ui-menu-item"); button.trigger( "click" ); - menu.find( "a" ).last().simulate( "mouseover" ).trigger( "click" ); + menu.find( "li" ).last().simulate( "mouseover" ).trigger( "click" ); equal( menu.attr( "aria-activedescendant" ), links.eq( element[ 0 ].selectedIndex ).attr( "id" ), @@ -135,7 +135,7 @@ $.each([ button.simulate( "focus" ); setTimeout(function() { - links = menu.find( "li.ui-menu-item a" ); + links = menu.find( "li.ui-menu-item" ); // open menu and click first item button.trigger( "click" ); links.first().simulate( "mouseover" ).trigger( "click" ); @@ -169,7 +169,7 @@ $.each([ button.simulate( "focus" ); setTimeout(function() { - links = menu.find( "li.ui-menu-item a" ); + links = menu.find( "li.ui-menu-item" ); button.trigger( "click" ); links.first().simulate( "mouseover" ).trigger( "click" ); @@ -196,7 +196,7 @@ $.each([ button.simulate( "focus" ); setTimeout(function() { - links = menu.find( "li.ui-menu-item a" ); + links = menu.find( "li.ui-menu-item" ); button.trigger( "click" ); setTimeout(function() { @@ -221,11 +221,11 @@ $.each([ }, 1 ); function checkItemClasses() { - focusedItem = menu.find( "li.ui-menu-item a.ui-state-focus" ); + focusedItem = menu.find( "li.ui-state-focus" ); equal( focusedItem.length, 1, "only one item has ui-state-focus class" ); equal( focusedItem.attr( "id" ), links.eq( element[ 0 ].selectedIndex ).attr( "id" ), "selected item has ui-state-focus class" ); - activeItem = menu.find( "li.ui-menu-item a.ui-state-active" ); + activeItem = menu.find( "li.ui-state-active" ); equal( activeItem.length, 1, "only one item has ui-state-active class" ); equal( activeItem.attr( "id" ), links.eq( element[ 0 ].selectedIndex ).attr( "id" ), "selected item has ui-state-active class" ); } diff --git a/tests/unit/selectmenu/selectmenu_events.js b/tests/unit/selectmenu/selectmenu_events.js index 353780ee5..182c0cd1b 100644 --- a/tests/unit/selectmenu/selectmenu_events.js +++ b/tests/unit/selectmenu/selectmenu_events.js @@ -30,7 +30,7 @@ asyncTest( "change", function () { setTimeout(function() { button.trigger( "click" ); - menu.find( "a" ).eq( optionIndex ).simulate( "mouseover" ).trigger( "click" ); + menu.find( "li" ).eq( optionIndex ).simulate( "mouseover" ).trigger( "click" ); start(); }, 1 ); }); @@ -79,7 +79,7 @@ asyncTest( "focus", function () { button.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } ); button.trigger( "click" ); - links = menu.find( "li.ui-menu-item a" ); + links = menu.find( "li.ui-menu-item" ); optionIndex = 0; links.eq( optionIndex ).simulate( "mouseover" ); optionIndex += 1; @@ -127,7 +127,7 @@ asyncTest( "select", function () { setTimeout(function() { button.trigger( "click" ); - menu.find( "a" ).eq( optionIndex ).simulate( "mouseover" ).trigger( "click" ); + menu.find( "li" ).eq( optionIndex ).simulate( "mouseover" ).trigger( "click" ); start(); }, 1 ); }); diff --git a/themes/base/jquery.ui.selectmenu.css b/themes/base/jquery.ui.selectmenu.css index c941ef0b1..804f96cfb 100644 --- a/themes/base/jquery.ui.selectmenu.css +++ b/themes/base/jquery.ui.selectmenu.css @@ -21,7 +21,7 @@ /* Support: IE7 */ overflow-x: hidden; } -.ui-selectmenu-menu .ui-menu-item a { +.ui-selectmenu-menu .ui-menu-item { padding: 0.3em 1em; } .ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup { diff --git a/ui/jquery.ui.selectmenu.js b/ui/jquery.ui.selectmenu.js index 7d7c3fb98..90dfce824 100644 --- a/ui/jquery.ui.selectmenu.js +++ b/ui/jquery.ui.selectmenu.js @@ -176,7 +176,7 @@ $.widget( "ui.selectmenu", { this._renderMenu( this.menu, this.items ); this.menuInstance.refresh(); - this.menuItems = this.menu.find( "li" ).not( ".ui-selectmenu-optgroup" ).find( "a" ); + this.menuItems = this.menu.find( "li" ).not( ".ui-selectmenu-optgroup" ); item = this._getSelectedItem(); @@ -250,7 +250,7 @@ $.widget( "ui.selectmenu", { $.each( items, function( index, item ) { if ( item.optgroup !== currentOptgroup ) { $( "
        1. ", { - "class": "ui-selectmenu-optgroup" + + "class": "ui-selectmenu-optgroup ui-menu-divider" + ( item.element.parent( "optgroup" ).attr( "disabled" ) ? " ui-state-disabled" : "" ), @@ -268,15 +268,14 @@ $.widget( "ui.selectmenu", { }, _renderItem: function( ul, item ) { - var li = $( "
        2. " ), - a = $( "", { href: "#" }); + var li = $( "
        3. " ); if ( item.disabled ) { li.addClass( "ui-state-disabled" ); } - this._setText( a, item.label ); + this._setText( li, item.label ); - return li.append( a ).appendTo( ul ); + return li.appendTo( ul ); }, _setText: function( element, value ) { @@ -303,7 +302,7 @@ $.widget( "ui.selectmenu", { }, _getSelectedItem: function() { - return this.menuItems.eq( this.element[ 0 ].selectedIndex ).parent( "li" ); + return this.menuItems.eq( this.element[ 0 ].selectedIndex ); }, _toggle: function( event ) { @@ -407,8 +406,7 @@ $.widget( "ui.selectmenu", { }, _setAria: function( item ) { - var link = this.menuItems.eq( item.index ), - id = link.attr( "id" ); + var id = this.menuItems.eq( item.index ).attr( "id" ); this.button.attr({ "aria-labelledby": id, -- cgit v1.2.3 From 480e89b1aaa2ab9eeb15e7b588d59bc27cbaacaa Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Thu, 24 Oct 2013 00:17:22 +0200 Subject: Selectmenu Tests: remove widthMenu option and rename widthButton option to width --- tests/unit/selectmenu/selectmenu_common.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'tests') diff --git a/tests/unit/selectmenu/selectmenu_common.js b/tests/unit/selectmenu/selectmenu_common.js index d5addff9a..93b526bd8 100644 --- a/tests/unit/selectmenu/selectmenu_common.js +++ b/tests/unit/selectmenu/selectmenu_common.js @@ -10,8 +10,7 @@ TestHelpers.commonWidgetTests( "selectmenu", { at: "left bottom", collision: "none" }, - widthButton: null, - widthMenu: null, + width: null, // callbacks create: null, -- cgit v1.2.3 From f3e4b24485a34c89ee4032605d853c1b3e0a4e7e Mon Sep 17 00:00:00 2001 From: Felix Nagel Date: Tue, 29 Oct 2013 19:52:54 +0100 Subject: Selectmenu: improve disabled item handling --- tests/visual/selectmenu/selectmenu.html | 2 +- ui/jquery.ui.selectmenu.js | 37 ++++++++++++++++++++++----------- 2 files changed, 26 insertions(+), 13 deletions(-) (limited to 'tests') diff --git a/tests/visual/selectmenu/selectmenu.html b/tests/visual/selectmenu/selectmenu.html index fab7c0a7c..1b343a8d4 100644 --- a/tests/visual/selectmenu/selectmenu.html +++ b/tests/visual/selectmenu/selectmenu.html @@ -156,7 +156,7 @@