Skip to content

Commit 0cc8554

Browse files
committed
Selectmenu Tests: add unit tests for empty options
1 parent bc8e750 commit 0cc8554

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

tests/unit/selectmenu/selectmenu_core.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,38 @@ $.each([
230230
equal( activeItem.attr( "id" ), links.eq( element[ 0 ].selectedIndex ).attr( "id" ), "selected item has ui-state-active class" );
231231
}
232232
});
233+
234+
asyncTest( "empty option - " + settings.type, function () {
235+
expect( 7 );
236+
237+
var element = $( settings.selector ),
238+
button, menu, links, link;
239+
240+
element.find( "option" ).first().text( "" );
241+
element.selectmenu();
242+
button = element.selectmenu( "widget" );
243+
menu = element.selectmenu( "menuWidget" );
244+
245+
// init menu
246+
button.simulate( "focus" );
247+
248+
setTimeout(function() {
249+
links = menu.find( "li:not(.ui-selectmenu-optgroup)" );
250+
link = links.first();
251+
252+
button.trigger( "click" );
253+
254+
equal( links.length, element.find( "option" ).length, "correct amount of list elements" );
255+
ok( link.outerHeight() > 10, "empty item seems to have reasonable height" );
256+
ok( link.attr( "id" ), "empty item has id attribute" );
257+
ok( link.hasClass( "ui-menu-item" ), "empty item has ui-menu-item class" );
258+
ok( !link.hasClass( "ui-menu-divider" ), "empty item has not ui-menu-divider class" );
259+
equal( link.attr( "tabindex" ), -1, "empty item has tabindex" );
260+
equal( link.attr( "role" ), "option", "empty item has role option" );
261+
262+
start();
263+
}, 1 );
264+
});
233265
});
234266

235267
})( jQuery );

0 commit comments

Comments
 (0)