Skip to content

Commit 144826d

Browse files
committed
Menu: Use new has/lacksClasses assertions for all class checks
1 parent 53d1bc2 commit 144826d

File tree

4 files changed

+34
-28
lines changed

4 files changed

+34
-28
lines changed

tests/unit/menu/menu_core.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ asyncTest( "#9044: Autofocus issue with dialog opened from menu widget", functio
5555
});
5656
});
5757

58-
asyncTest( "#9532: Need a way in Menu to keep ui-state-active class on selected item for Selectmenu", function() {
58+
asyncTest( "#9532: Need a way in Menu to keep ui-state-active class on selected item for Selectmenu", function( assert ) {
5959
expect( 1 );
6060
var element = $( "#menu1" ).menu(),
6161
firstChild = element.children().eq( 0 ),
@@ -64,7 +64,7 @@ asyncTest( "#9532: Need a way in Menu to keep ui-state-active class on selected
6464
element.menu( "focus", null, firstChild );
6565
wrapper.addClass( "ui-state-active" );
6666
setTimeout( function() {
67-
ok( wrapper.is( ".ui-state-active" ) );
67+
assert.hasClasses( wrapper, "ui-state-active" );
6868
start();
6969
});
7070
});

tests/unit/menu/menu_events.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -671,13 +671,13 @@ test( "#9469: Stopping propagation in a select event should not suppress subsequ
671671
equal( logOutput(), "1,2", "Both select events were not triggered." );
672672
});
673673

674-
asyncTest( "#10571: When typing in a menu, only menu-items should be focused", function() {
674+
asyncTest( "#10571: When typing in a menu, only menu-items should be focused", function( assert ) {
675675
expect( 3 );
676676

677677
var element = $( "#menu8" ).menu({
678678
focus: function( event, ui ) {
679679
equal( ui.item.length, 1, "There should only be one match when filtering" );
680-
ok( ui.item.hasClass( "ui-menu-item" ), "element is .ui-menu-item" );
680+
assert.hasClasses( ui.item, "ui-menu-item" );
681681
equal( ui.item.text(), "-Saarland", "element has correct text" );
682682
}
683683
});

tests/unit/menu/menu_methods.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,20 @@ test( "destroy", function() {
2020
});
2121
});
2222

23-
test( "enable/disable", function() {
23+
test( "enable/disable", function( assert ) {
2424
expect( 3 );
2525
var element = $( "#menu1" ).menu({
2626
select: function() {
2727
log();
2828
}
2929
});
3030
element.menu( "disable" );
31-
ok( element.is( ".ui-state-disabled" ), "Missing ui-state-disabled class" );
31+
assert.hasClasses( element, "ui-state-disabled" );
3232
log( "click", true );
3333
click( element, "1" );
3434
log( "afterclick" );
3535
element.menu( "enable" );
36-
ok( element.not( ".ui-state-disabled" ), "Has ui-state-disabled class" );
36+
assert.lacksClasses( element, "ui-state-disabled" );
3737
log( "click" );
3838
click( element, "1" );
3939
log( "afterclick" );
@@ -63,18 +63,18 @@ test( "refresh submenu", function() {
6363
equal( element.find( "ul:first .ui-menu-item" ).length, 4 );
6464
});
6565

66-
test( "refresh icons (see #9377)", function() {
66+
test( "refresh icons (see #9377)", function( assert ) {
6767
expect( 3 );
6868
var element = $( "#menu1" ).menu();
69-
ok( !element.hasClass( "ui-menu-icons") );
69+
assert.lacksClasses( element, "ui-menu-icons" );
7070
element.find( "li:first .ui-menu-item-wrapper" )
7171
.html( "<span class='ui-icon ui-icon-disk'></span>Save</a>" );
7272
element.menu( "refresh" );
7373

74-
ok( element.hasClass( "ui-menu-icons" ) );
74+
assert.hasClasses( element, "ui-menu-icons" );
7575
element.find( "li:first .ui-menu-item-wrapper" ).html( "Save" );
7676
element.menu( "refresh" );
77-
ok( !element.hasClass( "ui-menu-icons" ) );
77+
assert.lacksClasses( element, "ui-menu-icons" );
7878
});
7979

8080
test( "widget", function() {

tests/unit/menu/menu_options.js

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,75 +10,81 @@ module( "menu: options", {
1010
}
1111
});
1212

13-
test( "{ disabled: true }", function() {
13+
test( "{ disabled: true }", function( assert ) {
1414
expect( 2 );
1515
var element = $( "#menu1" ).menu({
1616
disabled: true,
1717
select: function() {
1818
log();
1919
}
2020
});
21-
ok( element.hasClass( "ui-state-disabled" ), "Missing ui-state-disabled class" );
21+
assert.hasClasses( element, "ui-state-disabled" );
2222
log( "click", true );
2323
click( element, "1" );
2424
log( "afterclick" );
2525
equal( logOutput(), "click,afterclick", "Click order not valid." );
2626
});
2727

28-
test( "{ disabled: false }", function() {
28+
test( "{ disabled: false }", function( assert ) {
2929
expect( 2 );
3030
var element = $( "#menu1" ).menu({
3131
disabled: false,
3232
select: function() {
3333
log();
3434
}
3535
});
36-
ok( !element.hasClass( "ui-state-disabled" ), "Has ui-state-disabled class" );
36+
assert.lacksClasses( element, "ui-state-disabled" );
3737
log( "click", true );
3838
click( element, "1" );
3939
log( "afterclick" );
4040
equal( logOutput(), "click,1,afterclick", "Click order not valid." );
4141
});
4242

43-
test( "{ icons: default }", function() {
44-
expect( 2 );
43+
test( "{ icons: default }", function( assert ) {
44+
expect( 8 );
4545
var element = $( "#menu2" ).menu();
46-
equal( element.find( ".ui-menu-icon" ).attr( "class" ), "ui-menu-icon ui-icon ui-icon-caret-1-e" );
46+
element.find( ".ui-menu-icon" ).each( function() {
47+
assert.hasClasses( this, "ui-menu-icon ui-icon ui-icon-caret-1-e" );
48+
});
4749

4850
element.menu( "option", "icons.submenu", "ui-icon-triangle-1-e" );
49-
equal( element.find( ".ui-menu-icon" ).attr( "class" ), "ui-menu-icon ui-icon ui-icon-triangle-1-e" );
51+
element.find( ".ui-menu-icon" ).each( function() {
52+
assert.hasClasses( this, "ui-menu-icon ui-icon ui-icon-triangle-1-e" );
53+
});
5054
});
5155

52-
test( "{ icons: { submenu: 'custom' } }", function() {
53-
expect( 1 );
56+
test( "{ icons: { submenu: 'custom' } }", function( assert ) {
57+
expect( 4 );
5458
var element = $( "#menu2" ).menu({
5559
icons: {
5660
submenu: "custom-class"
5761
}
5862
});
59-
equal( element.find( ".ui-menu-icon" ).attr( "class" ), "ui-menu-icon ui-icon custom-class" );
63+
element.find( ".ui-menu-icon" ).each( function() {
64+
assert.hasClasses( this, "ui-menu-icon ui-icon custom-class" );
65+
});
6066
});
6167

6268
// TODO: test menus option
6369

6470
// TODO: test position option
6571

66-
test( "{ role: 'menu' } ", function() {
72+
test( "{ role: 'menu' } ", function( assert ) {
6773
var element = $( "#menu1" ).menu(),
6874
items = element.find( "li" );
6975
expect( 2 + 3 * items.length );
7076
equal( element.attr( "role" ), "menu" );
7177
ok( items.length > 0, "number of menu items" );
7278
items.each(function( item ) {
73-
ok( $( this ).hasClass( "ui-menu-item" ), "menu item ("+ item + ") class for item" );
79+
assert.hasClasses( $( this ), "ui-menu-item" );
7480
equal( $( this ).find( ".ui-menu-item-wrapper" ).attr( "role" ),
7581
"menuitem", "menu item ("+ item + ") role" );
7682
equal( $( this ).find( ".ui-menu-item-wrapper" ).attr( "tabindex" ), "-1",
7783
"tabindex for menu item ("+ item + ")" );
7884
});
7985
});
8086

81-
test( "{ role: 'listbox' } ", function() {
87+
test( "{ role: 'listbox' } ", function( assert ) {
8288
var element = $( "#menu1" ).menu({
8389
role: "listbox"
8490
}),
@@ -87,15 +93,15 @@ test( "{ role: 'listbox' } ", function() {
8793
equal( element.attr( "role" ), "listbox" );
8894
ok( items.length > 0, "number of menu items" );
8995
items.each(function( item ) {
90-
ok( $( this ).hasClass( "ui-menu-item" ), "menu item ("+ item + ") class for item" );
96+
assert.hasClasses( $( this ), "ui-menu-item" );
9197
equal( $( this ).find( ".ui-menu-item-wrapper" ).attr( "role" ), "option",
9298
"menu item ("+ item + ") role" );
9399
equal( $( this ).find( ".ui-menu-item-wrapper" ).attr( "tabindex" ), "-1",
94100
"tabindex for menu item ("+ item + ")" );
95101
});
96102
});
97103

98-
test( "{ role: null }", function() {
104+
test( "{ role: null }", function( assert ) {
99105
var element = $( "#menu1" ).menu({
100106
role: null
101107
}),
@@ -104,7 +110,7 @@ test( "{ role: null }", function() {
104110
strictEqual( element.attr( "role" ), undefined );
105111
ok( items.length > 0, "number of menu items" );
106112
items.each(function( item ) {
107-
ok( $( this ).hasClass( "ui-menu-item" ), "menu item ("+ item + ") class for item" );
113+
assert.hasClasses( $( this ), "ui-menu-item" );
108114
equal( $( this ).find( ".ui-menu-item-wrapper" ).attr( "role" ), undefined,
109115
"menu item ("+ item + ") role" );
110116
equal( $( this ).find( ".ui-menu-item-wrapper" ).attr( "tabindex" ), "-1",

0 commit comments

Comments
 (0)