Skip to content

Commit cbce358

Browse files
committed
Tabs: Added tests for deprecated select method. Fixes #7138 - Tabs: Deprecate select method.
1 parent 75f7a78 commit cbce358

File tree

2 files changed

+40
-24
lines changed

2 files changed

+40
-24
lines changed

tests/unit/tabs/tabs_deprecated.js

Lines changed: 38 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -338,33 +338,49 @@ test( "remove", function() {
338338
equals( element.tabs( "option", "active" ), false );
339339
});
340340

341-
test('select', function() {
342-
expect(6);
341+
test( "select", function() {
342+
expect( 23 );
343343

344-
el = $('#tabs1').tabs();
344+
var element = $( "#tabs1" ).tabs();
345+
tabs_state( element, 1, 0, 0 );
346+
element.tabs( "select", 1 );
347+
tabs_state( element, 0, 1, 0 );
348+
equals( element.tabs( "option", "active" ), 1, "active" );
349+
equals( element.tabs( "option", "selected" ), 1, "selected" );
350+
element.tabs( "destroy" );
345351

346-
el.tabs('select', 1);
347-
equals(el.tabs('option', 'active'), 1, 'should select tab');
352+
element.tabs({ collapsible: true });
353+
tabs_state( element, 1, 0, 0 );
354+
element.tabs( "select", 0 );
355+
tabs_state( element, 0, 0, 0 );
356+
equals( element.tabs( "option", "active" ), false, "active" );
357+
equals( element.tabs( "option", "selected" ), -1, "selected" );
358+
element.tabs( "destroy" );
348359

349-
el.tabs('destroy');
350-
el.tabs({ collapsible: true });
351-
el.tabs('select', 0);
352-
equals(el.tabs('option', 'active'), -1, 'should collapse tab passing in the already active tab');
360+
element.tabs({ collapsible: true });
361+
element.tabs( "select", -1 );
362+
tabs_state( element, 0, 0, 0 );
363+
equals( element.tabs( "option", "active" ), false, "active" );
364+
equals( element.tabs( "option", "selected" ), -1, "selected" );
365+
element.tabs( "destroy" );
353366

354-
el.tabs('destroy');
355-
el.tabs({ collapsible: true });
356-
el.tabs('select', -1);
357-
equals(el.tabs('option', 'active'), -1, 'should collapse tab passing in -1');
367+
element.tabs();
368+
tabs_state( element, 1, 0, 0 );
369+
equals( element.tabs( "option", "active" ), 0, "active" );
370+
equals( element.tabs( "option", "selected" ), 0, "selected" );
371+
element.tabs( "select", 0 );
372+
tabs_state( element, 1, 0, 0 );
373+
equals( element.tabs( "option", "active" ), 0, "active" );
374+
equals( element.tabs( "option", "selected" ), 0, "selected" );
375+
element.tabs( "select", -1 );
376+
tabs_state( element, 1, 0, 0 );
377+
equals( element.tabs( "option", "active" ), 0, "active" );
378+
equals( element.tabs( "option", "selected" ), 0, "selected" );
358379

359-
el.tabs('destroy');
360-
el.tabs();
361-
el.tabs('select', 0);
362-
equals(el.tabs('option', 'active'), 0, 'should not collapse tab if collapsible is not set to true');
363-
el.tabs('select', -1);
364-
equals(el.tabs('option', 'active'), 0, 'should not collapse tab if collapsible is not set to true');
365-
366-
el.tabs('select', '#fragment-2');
367-
equals(el.tabs('option', 'active'), 1, 'should select tab by id');
380+
element.tabs( "select", "#fragment-2" );
381+
tabs_state( element, 0, 1, 0 );
382+
equals( element.tabs( "option", "active" ), 1, "active" );
383+
equals( element.tabs( "option", "selected" ), 1, "selected" );
368384
});
369385

370386
test( "length", function() {

ui/jquery.ui.tabs.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -998,8 +998,8 @@ if ( $.uiBackCompat !== false ) {
998998
(function( $, prototype ) {
999999
prototype.select = function( index ) {
10001000
index = this._getIndex( index );
1001-
if ( index == -1 ) {
1002-
if ( this.options.collapsible && this.options.selected != -1 ) {
1001+
if ( index === -1 ) {
1002+
if ( this.options.collapsible && this.options.selected !== -1 ) {
10031003
index = this.options.selected;
10041004
} else {
10051005
return;

0 commit comments

Comments
 (0)