1
- /*
2
- * tabs_options.js
3
- */
4
- ( function ( $ ) {
1
+ ( function ( $ ) {
5
2
6
- module ( "tabs: options" ) ;
3
+ module ( "tabs: options" ) ;
7
4
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 ) ;
10
54
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 ) ;
12
58
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
+ } ) ;
16
108
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 ) ;
19
112
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 ) ;
22
116
117
+ element . find ( ".ui-state-active a" ) . click ( ) ;
118
+ equal ( element . tabs ( "option" , "active" ) , false ) ;
119
+ tabs_state ( element , 0 , 0 , 0 ) ;
23
120
} ) ;
24
121
25
122
test ( 'disabled' , function ( ) {
@@ -46,34 +143,4 @@ test('fx', function() {
46
143
ok ( false , "missing test - untested code is broken code." ) ;
47
144
} ) ;
48
145
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
-
79
146
} ) ( jQuery ) ;
0 commit comments