1- /*
2- * tabs_options.js
3- */
4- ( function ( $ ) {
1+ ( function ( $ ) {
52
6- module ( "tabs: options" ) ;
3+ module ( "tabs: options" ) ;
74
8- test ( 'collapsible' , function ( ) {
9- expect ( 4 ) ;
5+ test ( "{ active: default }" , function ( ) {
6+ expect ( 4 ) ;
7+
8+ var element = $ ( "#tabs1" ) . tabs ( ) ;
9+ equals ( element . tabs ( "option" , "active" ) , 0 , "should be 0 by default" ) ;
10+ tabs_state ( element , 1 , 0 , 0 ) ;
11+ element . tabs ( "destroy" ) ;
12+
13+ window . location . hash = "#fragment-3" ;
14+ element = $ ( "#tabs1" ) . tabs ( ) ;
15+ equals ( element . tabs ( "option" , "active" ) , 2 , "should be 2 based on URL" ) ;
16+ tabs_state ( element , 0 , 0 , 1 ) ;
17+ } ) ;
18+
19+ test ( "{ active: false }" , function ( ) {
20+ expect ( 7 ) ;
21+
22+ var element = $ ( "#tabs1" ) . tabs ( {
23+ active : false ,
24+ collapsible : true
25+ } ) ;
26+ tabs_state ( element , 0 , 0 , 0 ) ;
27+ equal ( element . find ( ".ui-tabs-nav .ui-state-active" ) . size ( ) , 0 , "no tabs selected" ) ;
28+ strictEqual ( element . tabs ( "option" , "active" ) , false ) ;
29+
30+ element . tabs ( "option" , "collapsible" , false ) ;
31+ tabs_state ( element , 1 , 0 , 0 ) ;
32+ equal ( element . tabs ( "option" , "active" ) , 0 ) ;
33+
34+ element . tabs ( "destroy" ) ;
35+ element . tabs ( {
36+ active : false
37+ } ) ;
38+ tabs_state ( element , 1 , 0 , 0 ) ;
39+ strictEqual ( element . tabs ( "option" , "active" ) , 0 ) ;
40+ } ) ;
41+
42+ test ( "{ active: Number }" , function ( ) {
43+ expect ( 8 ) ;
44+
45+ var element = $ ( "#tabs1" ) . tabs ( {
46+ active : 2
47+ } ) ;
48+ equals ( element . tabs ( "option" , "active" ) , 2 ) ;
49+ tabs_state ( element , 0 , 0 , 1 ) ;
50+
51+ element . tabs ( "option" , "active" , 0 ) ;
52+ equals ( element . tabs ( "option" , "active" ) , 0 ) ;
53+ tabs_state ( element , 1 , 0 , 0 ) ;
1054
11- el = $ ( '#tabs1' ) ;
55+ element . find ( ".ui-tabs-nav a" ) . eq ( 1 ) . click ( ) ;
56+ equals ( element . tabs ( "option" , "active" ) , 1 ) ;
57+ tabs_state ( element , 0 , 1 , 0 ) ;
1258
13- el . tabs ( { collapsible : true } ) ;
14- equals ( el . tabs ( 'option' , 'collapsible' ) , true , 'option set' ) ;
15- ok ( el . is ( '.ui-tabs-collapsible' ) , 'extra class "ui-tabs-collapsible" attached' ) ;
59+ element . tabs ( "option" , "active" , 10 ) ;
60+ equals ( element . tabs ( "option" , "active" ) , 1 ) ;
61+ tabs_state ( element , 0 , 1 , 0 ) ;
62+ } ) ;
63+
64+ if ( $ . uiBackCompat === false ) {
65+ test ( "{ active: -Number }" , function ( ) {
66+ var element = $ ( "#tabs1" ) . tabs ( {
67+ active : - 1
68+ } ) ;
69+ equals ( element . tabs ( "option" , "active" ) , 2 ) ;
70+ tabs_state ( element , 0 , 0 , 1 ) ;
71+
72+ element . tabs ( "option" , "active" , - 2 ) ;
73+ equals ( element . tabs ( "option" , "active" ) , 1 ) ;
74+ tabs_state ( element , 0 , 1 , 0 ) ;
75+
76+ element . tabs ( "option" , "active" , - 10 ) ;
77+ equals ( element . tabs ( "option" , "active" ) , 1 ) ;
78+ tabs_state ( element , 0 , 1 , 0 ) ;
79+
80+ element . tabs ( "option" , "active" , - 3 ) ;
81+ equals ( element . tabs ( "option" , "active" ) , 0 ) ;
82+ tabs_state ( element , 1 , 0 , 0 ) ;
83+ } ) ;
84+ }
85+
86+ test ( "{ collapsible: false }" , function ( ) {
87+ expect ( 4 ) ;
88+
89+ var element = $ ( "#tabs1" ) . tabs ( {
90+ active : 1
91+ } ) ;
92+ element . tabs ( "option" , "active" , false ) ;
93+ equal ( element . tabs ( "option" , "active" ) , 1 ) ;
94+ tabs_state ( element , 0 , 1 , 0 ) ;
95+
96+ element . find ( ".ui-state-active a" ) . eq ( 1 ) . click ( ) ;
97+ equal ( element . tabs ( "option" , "active" ) , 1 ) ;
98+ tabs_state ( element , 0 , 1 , 0 ) ;
99+ } ) ;
100+
101+ test ( "{ collapsible: true }" , function ( ) {
102+ expect ( 6 ) ;
103+
104+ var element = $ ( "#tabs1" ) . tabs ( {
105+ active : 1 ,
106+ collapsible : true
107+ } ) ;
16108
17- el . tabs ( 'option' , 'active' , false ) ;
18- equals ( $ ( 'div:hidden' , '#tabs1' ) . length , 3 , 'all panels should be hidden' ) ;
109+ element . tabs ( "option" , "active" , false ) ;
110+ equal ( element . tabs ( "option" , "active" ) , false ) ;
111+ tabs_state ( element , 0 , 0 , 0 ) ;
19112
20- el . tabs ( 'option' , 'collapsible' , false ) ;
21- ok ( el . is ( ':not(.ui-tabs-collapsible)' ) , 'extra class "ui-tabs-collapsible" not attached' ) ;
113+ element . tabs ( "option" , "active" , 1 ) ;
114+ equal ( element . tabs ( "option" , "active" ) , 1 ) ;
115+ tabs_state ( element , 0 , 1 , 0 ) ;
22116
117+ element . find ( ".ui-state-active a" ) . click ( ) ;
118+ equal ( element . tabs ( "option" , "active" ) , false ) ;
119+ tabs_state ( element , 0 , 0 , 0 ) ;
23120} ) ;
24121
25122test ( 'disabled' , function ( ) {
@@ -46,34 +143,4 @@ test('fx', function() {
46143 ok ( false , "missing test - untested code is broken code." ) ;
47144} ) ;
48145
49- test ( 'active' , function ( ) {
50- expect ( 8 ) ;
51-
52- el = $ ( '#tabs1' ) . tabs ( ) ;
53- equals ( el . tabs ( 'option' , 'active' ) , 0 , 'should be 0 by default' ) ;
54-
55- el . tabs ( 'destroy' ) ;
56- el . tabs ( { active : false } ) ;
57- equals ( el . tabs ( 'option' , 'active' ) , false , 'should be false for all tabs deactive' ) ;
58- equals ( $ ( 'li.ui-tabs-active' , el ) . length , 0 , 'no tab should be active' ) ;
59- equals ( $ ( 'div:hidden' , '#tabs1' ) . length , 3 , 'all panels should be hidden' ) ;
60-
61- el . tabs ( 'destroy' ) ;
62- el . tabs ( { active : null } ) ;
63- equals ( el . tabs ( 'option' , 'active' ) , false , 'should be false for all tabs deactive with value null (deprecated)' ) ;
64-
65- el . tabs ( 'destroy' ) ;
66- el . tabs ( { active : 1 } ) ;
67- equals ( el . tabs ( 'option' , 'active' ) , 1 , 'should be specified tab' ) ;
68-
69- el . tabs ( 'destroy' ) ;
70- el . tabs ( { active : 99 } ) ;
71- equals ( el . tabs ( 'option' , 'active' ) , 0 , 'active should default to zero if given value is out of index' ) ;
72-
73- el . tabs ( 'destroy' ) ;
74- el . tabs ( { collapsible : true } ) ;
75- el . tabs ( 'option' , 'active' , 0 ) ;
76- equals ( el . tabs ( 'option' , 'active' ) , 0 , 'should not collapse tab if value is same as active' ) ;
77- } ) ;
78-
79146} ) ( jQuery ) ;
0 commit comments