@@ -85,55 +85,73 @@ test( "disable( index )", function() {
85
85
tabs_disabled ( element , true ) ;
86
86
} ) ;
87
87
88
- test ( 'refresh' , function ( ) {
89
- expect ( 13 ) ;
90
-
91
- var el = $ ( '<div id="tabs"><ul></ul></div>' ) . tabs ( ) ,
92
- ul = el . find ( 'ul' ) ;
93
-
94
- equals ( el . tabs ( 'option' , 'active' ) , false , 'Initially empty, no active tab' ) ;
95
-
96
- ul . append ( '<li><a href="data/test.html">Test 1</a></li>' ) ;
97
- el . tabs ( 'refresh' ) ;
98
- equals ( el . tabs ( 'option' , 'active' ) , 0 , 'First tab added should be auto active' ) ;
99
- ok ( $ ( "li:eq(0)" , el ) . is ( '.ui-tabs-active' ) , 'First tab should be auto active' ) ;
100
- equals ( el . find ( '.ui-tabs-panel' ) . length , 1 , 'Panel created after refresh' ) ;
101
-
102
- ul . find ( 'li' ) . remove ( ) ;
103
- el . tabs ( 'refresh' ) ;
104
- equals ( el . find ( '.ui-tabs-panel' ) . length , 0 , 'Panel removed after refresh' ) ;
105
- equals ( el . tabs ( 'option' , 'active' ) , false , 'No tabs are active' ) ;
106
-
107
- // Hide second tab
108
- $ ( '<li><a href="#test1">Test 1</a></li><li><a href="#test2">Test 2</a></li><li><a href="#test3">Test 3</a></li>' )
109
- . appendTo ( ul ) ;
110
- $ ( '<div id="test1">Test Panel 1</div><div id="test2">Test Panel 2</div><div id="test3">Test Panel 3</div>' )
111
- . insertAfter ( ul ) ;
112
- el . tabs ( 'refresh' ) ;
113
- equals ( el . tabs ( 'option' , 'active' ) , 0 , 'Second tab added should not be auto active' ) ;
114
- equals ( $ ( "#test2" , el ) . css ( "display" ) , "none" , 'Second panel is hidden' ) ;
115
-
116
- // Make second tab active and then remove the first one
117
- el . tabs ( 'option' , 'active' , 1 ) ;
118
- el . find ( 'a[href="#test1"]' ) . parent ( ) . remove ( ) ;
119
- el . tabs ( 'refresh' ) ;
120
- equals ( el . tabs ( 'option' , 'active' ) , 0 , 'Active index correctly updated' ) ;
121
- ok ( el . find ( 'a[href="#test2"]' ) . parent ( ) . is ( '.ui-tabs-active' ) , 'Tab is still active' ) ;
122
-
123
- // Refresh with disabled tabs
124
- el . tabs ( 'disable' , 1 ) ;
125
- same ( el . tabs ( 'option' , 'disabled' ) , [ 1 ] , 'Second tab disabled' ) ;
126
-
127
- el . find ( 'a[href="#test3"]' ) . remove ( ) ;
128
- ul . append ( '<li><a href="#test4">Test 4</a></li>' ) ;
129
- $ ( '<div id="test4">Test Panel 4</div>' ) . insertAfter ( ul ) ;
130
- el . tabs ( 'refresh' ) ;
131
- equals ( el . tabs ( 'option' , 'disabled' ) , false , 'Not disabled' ) ;
132
-
133
- ul . append ( '<li class="ui-state-disabled"><a href="#test3">Test 3</a></li>' ) ;
134
- $ ( '<div id="test3">Test Panel 3</div>' ) . insertAfter ( ul ) ;
135
- el . tabs ( 'refresh' ) ;
136
- same ( el . tabs ( 'option' , 'disabled' ) , [ 2 ] , 'Second tab disabled' ) ;
88
+ test ( "refersh" , function ( ) {
89
+ expect ( 27 ) ;
90
+
91
+ var element = $ ( "#tabs1" ) . tabs ( ) ;
92
+ tabs_state ( element , 1 , 0 , 0 ) ;
93
+ tabs_disabled ( element , false ) ;
94
+
95
+ // disable tab via markup
96
+ element . find ( ".ui-tabs-nav li" ) . eq ( 1 ) . addClass ( "ui-state-disabled" ) ;
97
+ element . tabs ( "refresh" ) ;
98
+ tabs_state ( element , 1 , 0 , 0 ) ;
99
+ tabs_disabled ( element , [ 1 ] ) ;
100
+
101
+ // add remote tab
102
+ element . find ( ".ui-tabs-nav" ) . append ( "<li id='newTab'><a href='data/test.html'>new</a></li>" ) ;
103
+ element . tabs ( "refresh" ) ;
104
+ tabs_state ( element , 1 , 0 , 0 , 0 ) ;
105
+ tabs_disabled ( element , [ 1 ] ) ;
106
+ equals ( element . find ( "#" + $ ( "#newTab a" ) . attr ( "aria-controls" ) ) . length , 1 ,
107
+ "panel added for remote tab" ) ;
108
+
109
+ // remove all tabs
110
+ element . find ( ".ui-tabs-nav li, .ui-tabs-panel" ) . remove ( ) ;
111
+ element . tabs ( "refresh" ) ;
112
+ tabs_state ( element ) ;
113
+ equals ( element . tabs ( "option" , "active" ) , false , "no active tab" ) ;
114
+
115
+ // add tabs
116
+ element . find ( ".ui-tabs-nav" )
117
+ . append ( "<li class='ui-state-disabled'><a href='#newTab2'>new 2</a></li>" )
118
+ . append ( "<li><a href='#newTab3'>new 3</a></li>" )
119
+ . append ( "<li><a href='#newTab4'>new 4</a></li>" )
120
+ . append ( "<li><a href='#newTab5'>new 5</a></li>" ) ;
121
+ element
122
+ . append ( "<div id='newTab2'>new 2</div>" )
123
+ . append ( "<div id='newTab3'>new 3</div>" )
124
+ . append ( "<div id='newTab4'>new 4</div>" )
125
+ . append ( "<div id='newTab5'>new 5</div>" ) ;
126
+ element . tabs ( "refresh" ) ;
127
+ tabs_state ( element , 0 , 0 , 0 , 0 ) ;
128
+ tabs_disabled ( element , [ 0 ] ) ;
129
+
130
+ // activate third tab
131
+ element . tabs ( "option" , "active" , 2 ) ;
132
+ tabs_state ( element , 0 , 0 , 1 , 0 ) ;
133
+ tabs_disabled ( element , [ 0 ] ) ;
134
+
135
+ // remove fourth tab, third tab should stay active
136
+ element . find ( ".ui-tabs-nav li" ) . eq ( 3 ) . remove ( ) ;
137
+ element . find ( ".ui-tabs-panel" ) . eq ( 3 ) . remove ( ) ;
138
+ element . tabs ( "refresh" ) ;
139
+ tabs_state ( element , 0 , 0 , 1 ) ;
140
+ tabs_disabled ( element , [ 0 ] ) ;
141
+
142
+ // remove third (active) tab, second tab should become active
143
+ element . find ( ".ui-tabs-nav li" ) . eq ( 2 ) . remove ( ) ;
144
+ element . find ( ".ui-tabs-panel" ) . eq ( 2 ) . remove ( ) ;
145
+ element . tabs ( "refresh" ) ;
146
+ tabs_state ( element , 0 , 1 ) ;
147
+ tabs_disabled ( element , [ 0 ] ) ;
148
+
149
+ // remove first tab, previously active tab (now first) should stay active
150
+ element . find ( ".ui-tabs-nav li" ) . eq ( 0 ) . remove ( ) ;
151
+ element . find ( ".ui-tabs-panel" ) . eq ( 0 ) . remove ( ) ;
152
+ element . tabs ( "refresh" ) ;
153
+ tabs_state ( element , 1 ) ;
154
+ tabs_disabled ( element , false ) ;
137
155
} ) ;
138
156
139
157
test ( 'load' , function ( ) {
0 commit comments