Skip to content

Commit 468e66a

Browse files
committed
Tabs: Added tests for add and remove events.
1 parent 1bacdec commit 468e66a

File tree

1 file changed

+32
-21
lines changed

1 file changed

+32
-21
lines changed

tests/unit/tabs/tabs_deprecated.js

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -187,25 +187,6 @@ test('disable', function() {
187187
equals(uiObj.index, 1, 'contain index');
188188
});
189189

190-
test('add', function() {
191-
192-
// TODO move to methods, not at all event related...
193-
194-
var el = $('<div id="tabs"><ul></ul></div>').tabs();
195-
equals(el.tabs('option', 'selected'), -1, 'Initially empty, no selected tab');
196-
197-
el.tabs('add', '#test1', 'Test 1');
198-
equals(el.tabs('option', 'selected'), 0, 'First tab added should be auto selected');
199-
200-
el.tabs('add', '#test2', 'Test 2');
201-
equals(el.tabs('option', 'selected'), 0, 'Second tab added should not be auto selected');
202-
203-
});
204-
205-
test('remove', function() {
206-
ok(false, "missing test - untested code is broken code.");
207-
});
208-
209190
test('show', function() {
210191
expect(5);
211192

@@ -250,12 +231,17 @@ test('select', function() {
250231
module( "tabs (deprecated): methods" );
251232

252233
test( "add", function() {
253-
expect( 18 );
234+
expect( 27 );
254235

255236
var element = $( "#tabs1" ).tabs();
256237
tabs_state( element, 1, 0, 0 );
257238

258239
// add without index
240+
element.one( "tabsadd", function( event, ui ) {
241+
equal( ui.index, 3, "ui.index" );
242+
equal( $( ui.tab ).text(), "New", "ui.tab" );
243+
equal( ui.panel.id, "new", "ui.panel" );
244+
});
259245
element.tabs( "add", "#new", "New" );
260246
tabs_state( element, 1, 0, 0, 0 );
261247
var tab = element.find( ".ui-tabs-nav li" ).last(),
@@ -270,6 +256,11 @@ test( "add", function() {
270256
tabs_state( element, 0, 0, 0, 1 );
271257

272258
// add remote tab with index
259+
element.one( "tabsadd", function( event, ui ) {
260+
equal( ui.index, 1, "ui.index" );
261+
equal( $( ui.tab ).text(), "New Remote", "ui.tab" );
262+
equal( ui.panel.id, $( ui.tab ).attr( "aria-controls" ), "ui.panel" );
263+
});
273264
element.tabs( "add", "data/test.html", "New Remote", 1 );
274265
tabs_state( element, 0, 0, 0, 0, 1 );
275266
tab = element.find( ".ui-tabs-nav li" ).eq( 1 );
@@ -286,6 +277,11 @@ test( "add", function() {
286277
// add to empty tab set
287278
element = $( "<div><ul></ul></div>" ).tabs();
288279
equals( element.tabs( "option", "active" ), false, "active: false on init" );
280+
element.one( "tabsadd", function( event, ui ) {
281+
equal( ui.index, 0, "ui.index" );
282+
equal( $( ui.tab ).text(), "First", "ui.tab" );
283+
equal( ui.panel.id, "first", "ui.panel" );
284+
});
289285
element.tabs( "add", "#first", "First" );
290286
tabs_state( element, 1 );
291287
equals( element.tabs( "option", "active" ), 0, "active: 0 after add" );
@@ -301,22 +297,37 @@ test( "#5069 - ui.tabs.add creates two tab panels when using a full URL", functi
301297
});
302298

303299
test( "remove", function() {
304-
expect( 8 );
300+
expect( 17 );
305301

306302
var element = $( "#tabs1" ).tabs({ active: 1 });
307303
tabs_state( element, 0, 1, 0 );
308304

305+
element.one( "tabsremove", function( event, ui ) {
306+
equal( ui.index, -1, "ui.index" );
307+
equal( $( ui.tab ).text(), "2", "ui.tab" );
308+
equal( ui.panel.id, "fragment-2", "ui.panel" );
309+
});
309310
element.tabs( "remove", 1 );
310311
tabs_state( element, 0, 1 );
311312
equals( element.tabs( "option", "active" ), 1 );
312313
equals( element.find( ".ui-tabs-nav li a[href$='fragment-2']" ).length, 0,
313314
"remove correct list item" );
314315
equals( element.find( "#fragment-2" ).length, 0, "remove correct panel" );
315316

317+
element.one( "tabsremove", function( event, ui ) {
318+
equal( ui.index, -1, "ui.index" );
319+
equal( $( ui.tab ).text(), "3", "ui.tab" );
320+
equal( ui.panel.id, "fragment-3", "ui.panel" );
321+
});
316322
element.tabs( "remove", 1 );
317323
tabs_state( element, 1 );
318324
equals( element.tabs( "option", "active"), 0 );
319325

326+
element.one( "tabsremove", function( event, ui ) {
327+
equal( ui.index, -1, "ui.index" );
328+
equal( $( ui.tab ).text(), "1", "ui.tab" );
329+
equal( ui.panel.id, "fragment-1", "ui.panel" );
330+
});
320331
element.tabs( "remove", 0 );
321332
equals( element.tabs( "option", "active" ), false );
322333
});

0 commit comments

Comments
 (0)