]> source.dussan.org Git - jquery-ui.git/commitdiff
Tabs tests: Added tests for show and hide options.
authorScott González <scott.gonzalez@gmail.com>
Fri, 6 Jul 2012 01:07:49 +0000 (21:07 -0400)
committerScott González <scott.gonzalez@gmail.com>
Fri, 6 Jul 2012 01:07:49 +0000 (21:07 -0400)
tests/unit/tabs/tabs_options.js

index eed5b99d8b7792da4ac0e64d16a98ca00247fb50..5a90ff89528df8a54f45f12d23c0b093ca44e5a2 100644 (file)
@@ -280,6 +280,54 @@ test( "{ heightStyle: 'fill' } with multiple siblings", function() {
        equalHeight( element, 335 );
 });
 
-// TODO: add animation tests
+test( "hide and show: false", function() {
+       expect( 3 );
+       var element = $( "#tabs1" ).tabs({
+                       show: false,
+                       hide: false
+               }),
+               widget = element.data( "tabs" ),
+               panels = element.find( ".ui-tabs-panel" );
+       widget._show = function() {
+               ok( false, "_show() called" );
+       };
+       widget._hide = function() {
+               ok( false, "_hide() called" );
+       };
+
+       ok( panels.eq( 0 ).is( ":visible" ), "first panel visible" );
+       element.tabs( "option", "active", 1 );
+       ok( panels.eq( 0 ).is( ":hidden" ), "first panel hidden" );
+       ok( panels.eq( 1 ).is( ":visible" ), "second panel visible" );
+});
+
+asyncTest( "hide and show - animation", function() {
+       expect( 5 );
+       var element = $( "#tabs1" ).tabs({
+                       show: "drop",
+                       hide: 2000
+               }),
+               widget = element.data( "tabs" ),
+               panels = element.find( ".ui-tabs-panel" );
+       widget._show = function( element, options, callback ) {
+               strictEqual( element[ 0 ], panels[ 1 ], "correct element in _show()" );
+               equal( options, "drop", "correct options in _show()" );
+               setTimeout(function() {
+                       callback();
+               }, 1 );
+       };
+       widget._hide = function( element, options, callback ) {
+               strictEqual( element[ 0 ], panels[ 0 ], "correct element in _hide()" );
+               equal( options, 2000, "correct options in _hide()" );
+               setTimeout(function() {
+                       callback();
+                       start();
+               }, 1 );
+       };
+
+       ok( panels.eq( 0 ).is( ":visible" ), "first panel visible" );
+       element.tabs( "option", "active", 1 );
+});
+
 
 }( jQuery ) );