1 |
(function( $ ) { |
2 |
|
3 |
var log = TestHelpers.menu.log, |
4 |
logOutput = TestHelpers.menu.logOutput, |
5 |
click = TestHelpers.menu.click; |
6 |
|
7 |
module( "menu: methods", { |
8 |
setup: function() { |
9 |
TestHelpers.menu.clearLog(); |
10 |
} |
11 |
}); |
12 |
|
13 |
test( "destroy", function() { |
14 |
expect( 4 ); |
15 |
domEqual( "#menu1", function() { |
16 |
$( "#menu1" ).menu().menu( "destroy" ); |
17 |
}); |
18 |
domEqual( "#menu2", function() { |
19 |
$( "#menu2" ).menu().menu( "destroy" ); |
20 |
}); |
21 |
domEqual( "#menu5", function() { |
22 |
$( "#menu5").menu().menu( "destroy" ); |
23 |
}); |
24 |
domEqual( "#menu6", function() { |
25 |
$( "#menu6" ).menu().menu( "destroy" ); |
26 |
}); |
27 |
}); |
28 |
|
29 |
test( "enable/disable", function() { |
30 |
expect( 3 ); |
31 |
var element = $( "#menu1" ).menu({ |
32 |
select: function() { |
33 |
log(); |
34 |
} |
35 |
}); |
36 |
element.menu( "disable" ); |
37 |
ok( element.is( ".ui-state-disabled" ), "Missing ui-state-disabled class" ); |
38 |
log( "click", true ); |
39 |
click( element, "1" ); |
40 |
log( "afterclick" ); |
41 |
element.menu( "enable" ); |
42 |
ok( element.not( ".ui-state-disabled" ), "Has ui-state-disabled class" ); |
43 |
log( "click" ); |
44 |
click( element, "1" ); |
45 |
log( "afterclick" ); |
46 |
equal( logOutput(), "click,afterclick,click,1,afterclick", "Click order not valid." ); |
47 |
}); |
48 |
|
49 |
test( "refresh", function() { |
50 |
expect( 5 ); |
51 |
var element = $( "#menu1" ).menu(); |
52 |
equal( element.find( ".ui-menu-item" ).length, 5, "Incorrect number of menu items" ); |
53 |
element.append( "<li><a href='#'>test item</a></li>" ).menu( "refresh" ); |
54 |
equal( element.find( ".ui-menu-item" ).length, 6, "Incorrect number of menu items" ); |
55 |
element.find( ".ui-menu-item:last" ).remove().end().menu( "refresh" ); |
56 |
equal( element.find( ".ui-menu-item" ).length, 5, "Incorrect number of menu items" ); |
57 |
element.append( "<li>---</li>" ).menu( "refresh" ); |
58 |
equal( element.find( ".ui-menu-item" ).length, 5, "Incorrect number of menu items" ); |
59 |
element.children( ":last" ).remove().end().menu( "refresh" ); |
60 |
equal( element.find( ".ui-menu-item" ).length, 5, "Incorrect number of menu items" ); |
61 |
}); |
62 |
|
63 |
test( "refresh submenu", function() { |
64 |
expect( 2 ); |
65 |
var element = $( "#menu2" ).menu(); |
66 |
equal( element.find( "ul:first .ui-menu-item" ).length, 3 ); |
67 |
element.find( "ul" ).addBack().append( "<li><a href=\"#\">New Item</a></li>" ); |
68 |
element.menu("refresh"); |
69 |
equal( element.find( "ul:first .ui-menu-item" ).length, 4 ); |
70 |
}); |
71 |
|
72 |
test( "widget", function() { |
73 |
expect( 2 ); |
74 |
var element = $( "#menu1" ).menu(), |
75 |
widgetElement = element.menu( "widget" ); |
76 |
equal( widgetElement.length, 1, "one element" ); |
77 |
strictEqual( widgetElement[ 0 ], element[ 0 ], "same element" ); |
78 |
}); |
79 |
|
80 |
// TODO: test focus method |
81 |
|
82 |
// TODO: test blur method |
83 |
|
84 |
// TODO: test collapseAll method |
85 |
|
86 |
// TODO: test collapse method |
87 |
|
88 |
// TODO: test expand method |
89 |
|
90 |
// TODO: test next method |
91 |
|
92 |
// TODO: test prev method |
93 |
|
94 |
// TODO: test isFirstItem method |
95 |
|
96 |
// TODO: test isLastItem method |
97 |
|
98 |
// TODO: test nextPage method |
99 |
|
100 |
// TODO: test prevPage method |
101 |
|
102 |
// TODO: test select method |
103 |
|
104 |
})( jQuery ); |