aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/tabs/tabs_methods.js
diff options
context:
space:
mode:
authorScott González <scott.gonzalez@gmail.com>2011-04-28 12:04:08 -0400
committerScott González <scott.gonzalez@gmail.com>2011-04-28 12:04:08 -0400
commitd819cdd3a92d9d152a33ce6aecbd5cd9737a3ade (patch)
tree25d202af92bc3421ea767c28e894761df7068572 /tests/unit/tabs/tabs_methods.js
parent0e7769c66958a0f86ffda0209caa4039d96c79b2 (diff)
downloadjquery-ui-d819cdd3a92d9d152a33ce6aecbd5cd9737a3ade.tar.gz
jquery-ui-d819cdd3a92d9d152a33ce6aecbd5cd9737a3ade.zip
Tabs: Fixed disable method and cleaned up tests for enable and disable methods.
Diffstat (limited to 'tests/unit/tabs/tabs_methods.js')
-rw-r--r--tests/unit/tabs/tabs_methods.js134
1 files changed, 63 insertions, 71 deletions
diff --git a/tests/unit/tabs/tabs_methods.js b/tests/unit/tabs/tabs_methods.js
index bd28316c5..c7c043760 100644
--- a/tests/unit/tabs/tabs_methods.js
+++ b/tests/unit/tabs/tabs_methods.js
@@ -17,80 +17,72 @@ test('destroy', function() {
ok( $('li:eq(2)', el).is(':not(.ui-state-hover, .ui-state-focus)'), 'remove classes from mouseovered or focused li');
});
-test('enable', function() {
- expect(12);
-
- el = $('#tabs1').tabs({ disabled: [ 0, 1 ] });
- el.tabs("enable", 1);
- ok( $('li:eq(1)', el).is(':not(.ui-state-disabled)'), 'remove class from li');
- same(el.tabs('option', 'disabled'), [ 0 ], 'update property');
-
- // enable all tabs
- el.tabs({ disabled: [ 0, 1 ] });
- el.tabs("enable");
- ok( !$('li.ui-state-disabled', el).length, 'enable all');
- same(el.tabs('option', 'disabled'), false, 'update property');
-
- // enable one tab
- el.tabs({ disabled: true });
- el.tabs("enable", 1);
- ok( $('li:eq(1)', el).is(':not(.ui-state-disabled)'), 'remove class from li');
- same(el.tabs('option', 'disabled'), [ 0, 2 ], 'update property');
-
- // all tabs already enabled
- el.tabs({ disabled: false });
- el.tabs("enable", 1);
- ok( !$('li.ui-state-disabled', el).length, 'enable all');
- same(el.tabs('option', 'disabled'), false, 'update property');
+test( "enable", function() {
+ expect( 8 );
+
+ var element = $( "#tabs1" ).tabs({ disabled: true });
+ tabs_disabled( element, true );
+ element.tabs( "enable" );
+ tabs_disabled( element, false );
+ element.tabs( "destroy" );
+
+ element.tabs({ disabled: [ 0, 1 ] });
+ tabs_disabled( element, [ 0, 1 ] );
+ element.tabs( "enable" );
+ tabs_disabled( element, false );
+});
- el.tabs('destroy');
- // enable all tabs one by one
- el.tabs({ disabled: [ 1, 2 ] });
- el.tabs("enable", 1);
- ok( $('li:eq(1)', el).is(':not(.ui-state-disabled)'), 'remove class from li');
- same(el.tabs('option', 'disabled'), [ 2 ], 'update property');
- el.tabs("enable", 2);
- ok( $('li:eq(2)', el).is(':not(.ui-state-disabled)'), 'remove class from li');
- same( el.tabs('option', 'disabled'), false, 'set to false');
+test( "enable( index )", function() {
+ expect( 10 );
+
+ var element = $( "#tabs1" ).tabs({ disabled: true });
+ tabs_disabled( element, true );
+ // fully disabled -> partially disabled
+ element.tabs( "enable", 1 );
+ tabs_disabled( element, [ 0, 2 ] );
+ // partially disabled -> partially disabled
+ element.tabs( "enable", 2 );
+ tabs_disabled( element, [ 0 ] );
+ // already enabled tab, no change
+ element.tabs( "enable", 2 );
+ tabs_disabled( element, [ 0 ] );
+ // partially disabled -> fully enabled
+ element.tabs( "enable", 0 );
+ tabs_disabled( element, false );
+});
+
+test( "disable", function() {
+ expect( 8 );
+
+ var element = $( "#tabs1" ).tabs({ disabled: false });
+ tabs_disabled( element, false );
+ element.tabs( "disable" );
+ tabs_disabled( element, true );
+ element.tabs( "destroy" );
+
+ element.tabs({ disabled: [ 0, 1 ] });
+ tabs_disabled( element, [ 0, 1 ] );
+ element.tabs( "disable" );
+ tabs_disabled( element, true );
});
-test('disable', function() {
- expect(14);
-
- // normal
- el = $('#tabs1').tabs();
- el.tabs('disable', 1);
- ok( $('li:eq(1)', el).is('.ui-state-disabled'), 'add class to li');
- same(el.tabs('option', 'disabled'), [ 1 ], 'update disabled property');
-
- // disable selected
- el.tabs('disable', 0);
- ok( $('li:eq(0)', el).is('.ui-state-disabled'), 'add class to selected li');
- same(el.tabs('option', 'disabled'), [ 0, 1 ], 'update disabled property');
-
- // disable all tabs
- el.tabs('disable');
- same( $('li.ui-state-disabled', el).length, 3, 'disable all');
- same(el.tabs('option', 'disabled'), true, 'set to true');
-
- // all tabs already disabled
- el.tabs({ disabled: true });
- el.tabs("disable", 1);
- ok( $('li.ui-state-disabled', el).length, 'disable all');
- same(el.tabs('option', 'disabled'), true, 'set to true');
-
- el.tabs("destroy");
- // disable all tabs one by one
- el.tabs();
- el.tabs('disable', 0);
- ok( $('li:eq(0)', el).is('.ui-state-disabled'), 'add class to li');
- same(el.tabs('option', 'disabled'), [ 0 ], 'update disabled property');
- el.tabs('disable', 1);
- ok( $('li:eq(1)', el).is('.ui-state-disabled'), 'add class to li');
- same(el.tabs('option', 'disabled'), [ 0, 1 ], 'update disabled property');
- el.tabs('disable', 2);
- ok( $('li:eq(2)', el).is('.ui-state-disabled'), 'add class to li');
- same(el.tabs('option', 'disabled'), true, 'set to true');
+test( "disable( index )", function() {
+ expect( 10 );
+
+ var element = $( "#tabs1" ).tabs({ disabled: false });
+ tabs_disabled( element, false );
+ // fully enabled -> partially disabled
+ element.tabs( "disable", 1 );
+ tabs_disabled( element, [ 1 ] );
+ // partially disabled -> partially disabled
+ element.tabs( "disable", 2 );
+ tabs_disabled( element, [ 1, 2 ] );
+ // already disabled tab, no change
+ element.tabs( "disable", 2 );
+ tabs_disabled( element, [ 1, 2 ] );
+ // partially disabled -> fully disabled
+ element.tabs( "disable", 0 );
+ tabs_disabled( element, true );
});
test('refresh', function() {