2011-04-11 17:49:22 +00:00
|
|
|
(function( $ ) {
|
2009-02-02 14:36:08 +00:00
|
|
|
|
2011-04-11 17:49:22 +00:00
|
|
|
module( "tabs: options" );
|
2009-02-02 14:36:08 +00:00
|
|
|
|
2011-04-11 17:49:22 +00:00
|
|
|
test( "{ active: default }", function() {
|
|
|
|
expect( 4 );
|
|
|
|
|
|
|
|
var element = $( "#tabs1" ).tabs();
|
|
|
|
equals( element.tabs( "option", "active" ), 0, "should be 0 by default" );
|
|
|
|
tabs_state( element, 1, 0, 0 );
|
|
|
|
element.tabs( "destroy" );
|
|
|
|
|
2011-04-15 12:53:05 +00:00
|
|
|
location.hash = "#fragment-3";
|
2011-04-11 17:49:22 +00:00
|
|
|
element = $( "#tabs1" ).tabs();
|
|
|
|
equals( element.tabs( "option", "active" ), 2, "should be 2 based on URL" );
|
|
|
|
tabs_state( element, 0, 0, 1 );
|
2011-04-15 12:53:05 +00:00
|
|
|
element.tabs( "destroy" );
|
2011-05-03 11:14:33 +00:00
|
|
|
location.hash = "#";
|
2011-04-11 17:49:22 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
test( "{ active: false }", function() {
|
|
|
|
expect( 7 );
|
|
|
|
|
|
|
|
var element = $( "#tabs1" ).tabs({
|
|
|
|
active: false,
|
|
|
|
collapsible: true
|
|
|
|
});
|
|
|
|
tabs_state( element, 0, 0, 0 );
|
|
|
|
equal( element.find( ".ui-tabs-nav .ui-state-active" ).size(), 0, "no tabs selected" );
|
|
|
|
strictEqual( element.tabs( "option", "active" ), false );
|
|
|
|
|
|
|
|
element.tabs( "option", "collapsible", false );
|
|
|
|
tabs_state( element, 1, 0, 0 );
|
|
|
|
equal( element.tabs( "option", "active" ), 0 );
|
|
|
|
|
|
|
|
element.tabs( "destroy" );
|
|
|
|
element.tabs({
|
|
|
|
active: false
|
|
|
|
});
|
|
|
|
tabs_state( element, 1, 0, 0 );
|
|
|
|
strictEqual( element.tabs( "option", "active" ), 0 );
|
|
|
|
});
|
|
|
|
|
|
|
|
test( "{ active: Number }", function() {
|
|
|
|
expect( 8 );
|
|
|
|
|
|
|
|
var element = $( "#tabs1" ).tabs({
|
|
|
|
active: 2
|
|
|
|
});
|
|
|
|
equals( element.tabs( "option", "active" ), 2 );
|
|
|
|
tabs_state( element, 0, 0, 1 );
|
|
|
|
|
|
|
|
element.tabs( "option", "active", 0 );
|
|
|
|
equals( element.tabs( "option", "active" ), 0 );
|
|
|
|
tabs_state( element, 1, 0, 0 );
|
2009-02-03 13:37:54 +00:00
|
|
|
|
2011-04-11 17:49:22 +00:00
|
|
|
element.find( ".ui-tabs-nav a" ).eq( 1 ).click();
|
|
|
|
equals( element.tabs( "option", "active" ), 1 );
|
|
|
|
tabs_state( element, 0, 1, 0 );
|
2009-02-03 13:37:54 +00:00
|
|
|
|
2011-04-11 17:49:22 +00:00
|
|
|
element.tabs( "option", "active", 10 );
|
|
|
|
equals( element.tabs( "option", "active" ), 1 );
|
|
|
|
tabs_state( element, 0, 1, 0 );
|
|
|
|
});
|
|
|
|
|
|
|
|
if ( $.uiBackCompat === false ) {
|
|
|
|
test( "{ active: -Number }", function() {
|
|
|
|
var element = $( "#tabs1" ).tabs({
|
|
|
|
active: -1
|
|
|
|
});
|
|
|
|
equals( element.tabs( "option", "active" ), 2 );
|
|
|
|
tabs_state( element, 0, 0, 1 );
|
|
|
|
|
|
|
|
element.tabs( "option", "active", -2 );
|
|
|
|
equals( element.tabs( "option", "active" ), 1 );
|
|
|
|
tabs_state( element, 0, 1, 0 );
|
|
|
|
|
|
|
|
element.tabs( "option", "active", -10 );
|
|
|
|
equals( element.tabs( "option", "active" ), 1 );
|
|
|
|
tabs_state( element, 0, 1, 0 );
|
|
|
|
|
|
|
|
element.tabs( "option", "active", -3 );
|
|
|
|
equals( element.tabs( "option", "active" ), 0 );
|
|
|
|
tabs_state( element, 1, 0, 0 );
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2011-04-15 12:53:05 +00:00
|
|
|
test( "active - mismatched tab/panel order", function() {
|
|
|
|
expect( 3 );
|
|
|
|
|
|
|
|
location.hash = "#tabs7-2";
|
|
|
|
var element = $( "#tabs7" ).tabs();
|
|
|
|
equals( element.tabs( "option", "active" ), 1, "should be 1 based on URL" );
|
|
|
|
tabs_state( element, 0, 1 );
|
|
|
|
element.tabs( "option", "active", 0 );
|
2011-05-03 11:14:33 +00:00
|
|
|
tabs_state( element, 1, 0 );
|
|
|
|
location.hash = "#";
|
2011-04-15 12:53:05 +00:00
|
|
|
});
|
|
|
|
|
2011-04-11 17:49:22 +00:00
|
|
|
test( "{ collapsible: false }", function() {
|
|
|
|
expect( 4 );
|
|
|
|
|
|
|
|
var element = $( "#tabs1" ).tabs({
|
|
|
|
active: 1
|
|
|
|
});
|
|
|
|
element.tabs( "option", "active", false );
|
|
|
|
equal( element.tabs( "option", "active" ), 1 );
|
|
|
|
tabs_state( element, 0, 1, 0 );
|
|
|
|
|
|
|
|
element.find( ".ui-state-active a" ).eq( 1 ).click();
|
|
|
|
equal( element.tabs( "option", "active" ), 1 );
|
|
|
|
tabs_state( element, 0, 1, 0 );
|
|
|
|
});
|
|
|
|
|
|
|
|
test( "{ collapsible: true }", function() {
|
|
|
|
expect( 6 );
|
|
|
|
|
|
|
|
var element = $( "#tabs1" ).tabs({
|
|
|
|
active: 1,
|
|
|
|
collapsible: true
|
|
|
|
});
|
2011-03-29 02:28:59 +00:00
|
|
|
|
2011-04-11 17:49:22 +00:00
|
|
|
element.tabs( "option", "active", false );
|
|
|
|
equal( element.tabs( "option", "active" ), false );
|
|
|
|
tabs_state( element, 0, 0, 0 );
|
2011-03-29 02:28:59 +00:00
|
|
|
|
2011-04-11 17:49:22 +00:00
|
|
|
element.tabs( "option", "active", 1 );
|
|
|
|
equal( element.tabs( "option", "active" ), 1 );
|
|
|
|
tabs_state( element, 0, 1, 0 );
|
2010-04-21 19:31:29 +00:00
|
|
|
|
2011-04-11 17:49:22 +00:00
|
|
|
element.find( ".ui-state-active a" ).click();
|
|
|
|
equal( element.tabs( "option", "active" ), false );
|
|
|
|
tabs_state( element, 0, 0, 0 );
|
2009-02-03 13:37:54 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
test('disabled', function() {
|
2010-04-21 19:31:29 +00:00
|
|
|
expect(4);
|
|
|
|
|
|
|
|
el = $('#tabs1').tabs();
|
2011-02-06 19:49:42 +00:00
|
|
|
same(el.tabs('option', 'disabled'), false, "should not disable any tab by default");
|
2010-04-21 19:31:29 +00:00
|
|
|
|
|
|
|
el.tabs('option', 'disabled', [ 1 ]);
|
|
|
|
same(el.tabs('option', 'disabled'), [ 1 ], "should set property"); // everything else is being tested in methods module...
|
|
|
|
|
|
|
|
el.tabs('option', 'disabled', [ 0, 1 ]);
|
2011-02-06 19:49:42 +00:00
|
|
|
same(el.tabs('option', 'disabled'), [ 0, 1 ], "should disable given tabs, even selected one"); // ...
|
2010-04-21 19:31:29 +00:00
|
|
|
|
|
|
|
el.tabs('option', 'disabled', [ ]);
|
2011-02-06 19:49:42 +00:00
|
|
|
same(el.tabs('option', 'disabled'), false, "should not disable any tab"); // ...
|
2009-02-03 13:37:54 +00:00
|
|
|
});
|
|
|
|
|
2009-02-04 09:35:52 +00:00
|
|
|
test('event', function() {
|
2009-02-03 13:37:54 +00:00
|
|
|
ok(false, "missing test - untested code is broken code.");
|
|
|
|
});
|
|
|
|
|
|
|
|
test('fx', function() {
|
|
|
|
ok(false, "missing test - untested code is broken code.");
|
|
|
|
});
|
|
|
|
|
2009-02-02 14:36:08 +00:00
|
|
|
})(jQuery);
|