From a2b25ef6caae3e1a272214839b815a6387618124 Mon Sep 17 00:00:00 2001 From: Scott González Date: Wed, 16 Nov 2016 12:52:15 -0500 Subject: Selectmenu: Don't render options with the `hidden` attribute Fixes #15098 --- tests/unit/selectmenu/core.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'tests') diff --git a/tests/unit/selectmenu/core.js b/tests/unit/selectmenu/core.js index a5bc68e0f..cef6dc5bf 100644 --- a/tests/unit/selectmenu/core.js +++ b/tests/unit/selectmenu/core.js @@ -376,4 +376,30 @@ QUnit.test( "Number pad input should change value", function( assert ) { } ); } ); +QUnit.test( "Options with hidden attribute should not be rendered", function( assert ) { + var ready = assert.async(); + assert.expect( 1 ); + + var button, menu, options, + element = $( "#speed" ); + + element.find( "option" ).eq( 1 ).prop( "hidden", true ); + element.selectmenu(); + button = element.selectmenu( "widget" ); + menu = element.selectmenu( "menuWidget" ); + + button.simulate( "focus" ); + setTimeout( function() { + button.trigger( "click" ); + options = menu.children() + .map( function() { + return $( this ).text(); + } ) + .get(); + assert.deepEqual( options, [ "Slower", "Medium", "Fast", "Faster" ], "correct elements" ); + + ready(); + } ); +} ); + } ); -- cgit v1.2.3