33module ( "tabs: events" ) ;
44
55test ( "beforeActivate" , function ( ) {
6- expect ( 26 ) ;
6+ expect ( 38 ) ;
77
88 var element = $ ( "#tabs1" ) . tabs ( {
99 // TODO: should be false
@@ -13,7 +13,9 @@ test( "beforeActivate", function() {
1313 tabs = element . find ( ".ui-tabs-nav a" ) ,
1414 panels = element . find ( ".ui-tabs-panel" ) ;
1515
16+ // from collapsed
1617 element . one ( "tabsbeforeactivate" , function ( event , ui ) {
18+ ok ( ! ( "originalEvent" in event ) ) ;
1719 equals ( ui . oldTab . size ( ) , 0 ) ;
1820 equals ( ui . oldPanel . size ( ) , 0 ) ;
1921 equals ( ui . newTab . size ( ) , 1 ) ;
@@ -25,7 +27,9 @@ test( "beforeActivate", function() {
2527 element . tabs ( "option" , "active" , 0 ) ;
2628 tabs_state ( element , 1 , 0 , 0 ) ;
2729
30+ // switching tabs
2831 element . one ( "tabsbeforeactivate" , function ( event , ui ) {
32+ equals ( event . originalEvent . type , "click" ) ;
2933 equals ( ui . oldTab . size ( ) , 1 ) ;
3034 strictEqual ( ui . oldTab [ 0 ] , tabs [ 0 ] ) ;
3135 equals ( ui . oldPanel . size ( ) , 1 ) ;
@@ -36,10 +40,12 @@ test( "beforeActivate", function() {
3640 strictEqual ( ui . newPanel [ 0 ] , panels [ 1 ] ) ;
3741 tabs_state ( element , 1 , 0 , 0 ) ;
3842 } ) ;
39- element . tabs ( "option" , "active" , 1 ) ;
43+ tabs . eq ( 1 ) . click ( ) ;
4044 tabs_state ( element , 0 , 1 , 0 ) ;
4145
46+ // collapsing
4247 element . one ( "tabsbeforeactivate" , function ( event , ui ) {
48+ ok ( ! ( "originalEvent" in event ) ) ;
4349 equals ( ui . oldTab . size ( ) , 1 ) ;
4450 strictEqual ( ui . oldTab [ 0 ] , tabs [ 1 ] ) ;
4551 equals ( ui . oldPanel . size ( ) , 1 ) ;
@@ -50,6 +56,21 @@ test( "beforeActivate", function() {
5056 } ) ;
5157 element . tabs ( "option" , "active" , false ) ;
5258 tabs_state ( element , 0 , 0 , 0 ) ;
59+
60+ // prevent activation
61+ element . one ( "tabsbeforeactivate" , function ( event , ui ) {
62+ ok ( ! ( "originalEvent" in event ) ) ;
63+ equals ( ui . oldTab . size ( ) , 0 ) ;
64+ equals ( ui . oldPanel . size ( ) , 0 ) ;
65+ equals ( ui . newTab . size ( ) , 1 ) ;
66+ strictEqual ( ui . newTab [ 0 ] , tabs [ 1 ] ) ;
67+ equals ( ui . newPanel . size ( ) , 1 ) ;
68+ strictEqual ( ui . newPanel [ 0 ] , panels [ 1 ] ) ;
69+ event . preventDefault ( ) ;
70+ tabs_state ( element , 0 , 0 , 0 ) ;
71+ } ) ;
72+ element . tabs ( "option" , "active" , 1 ) ;
73+ tabs_state ( element , 0 , 0 , 0 ) ;
5374} ) ;
5475
5576test ( 'beforeload' , function ( ) {
0 commit comments