and a note on manual changes in dataTables.bootstrap.css
[myslice.git] / third-party / jquery-ui-1.10.2 / tests / unit / menu / menu_methods.js
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 );