@@ -87,110 +87,108 @@ test("change", function() {
87
87
equal ( $ . datepicker . _defaults . showOn , "focus" , "Retain default showOn" ) ;
88
88
} ) ;
89
89
90
- asyncTest ( "invocation" , function ( ) {
90
+ asyncTest ( "invocation" , function ( ) {
91
91
expect ( 29 ) ;
92
92
var button , image ,
93
- inp = TestHelpers . datepicker . init ( "#inp" ) ,
94
- dp = $ ( "#ui-datepicker-div" ) ,
95
- body = $ ( "body" ) ;
93
+ inp = TestHelpers . datepicker . init ( "#inp" ) ,
94
+ dp = $ ( "#ui-datepicker-div" ) ,
95
+ body = $ ( "body" ) ;
96
96
97
97
function step1 ( ) {
98
98
// On focus
99
- button = inp . siblings ( "button" ) ;
100
- ok ( button . length === 0 , "Focus - button absent" ) ;
101
- image = inp . siblings ( "img" ) ;
102
- ok ( image . length === 0 , "Focus - image absent" ) ;
103
- inp [ 0 ] . focus ( ) ;
104
- setTimeout ( function ( ) {
105
- ok ( dp . is ( ":visible" ) , "Focus - rendered on focus" ) ;
106
- inp . simulate ( "keydown" , { keyCode : $ . ui . keyCode . ESCAPE } ) ;
107
- ok ( ! dp . is ( ":visible" ) , "Focus - hidden on exit" ) ;
108
- inp [ 0 ] . blur ( ) ;
109
- setTimeout ( function ( ) {
110
- inp [ 0 ] . focus ( ) ;
111
- setTimeout ( function ( ) {
112
- ok ( dp . is ( ":visible" ) , "Focus - rendered on focus" ) ;
113
- body . simulate ( "mousedown" , { } ) ;
114
- ok ( ! dp . is ( ":visible" ) , "Focus - hidden on external click" ) ;
115
- inp . datepicker ( "hide" ) . datepicker ( "destroy" ) ;
99
+ button = inp . siblings ( "button" ) ;
100
+ ok ( button . length === 0 , "Focus - button absent" ) ;
101
+ image = inp . siblings ( "img" ) ;
102
+ ok ( image . length === 0 , "Focus - image absent" ) ;
103
+
104
+ inp . one ( "focus" , function ( ) {
105
+ ok ( dp . is ( ":visible" ) , "Focus - rendered on focus" ) ;
106
+ inp . simulate ( "keydown" , { keyCode : $ . ui . keyCode . ESCAPE } ) ;
107
+ ok ( ! dp . is ( ":visible" ) , "Focus - hidden on exit" ) ;
116
108
117
- step2 ( ) ;
118
- } ) ;
109
+ TestHelpers . datepicker . onBlurThenFocus ( inp , function ( ) {
110
+ ok ( dp . is ( ":visible" ) , "Focus - rendered on focus" ) ;
111
+ body . simulate ( "mousedown" , { } ) ;
112
+ ok ( ! dp . is ( ":visible" ) , "Focus - hidden on external click" ) ;
113
+ inp . datepicker ( "hide" ) . datepicker ( "destroy" ) ;
114
+
115
+ step2 ( ) ;
119
116
} ) ;
120
- } ) ;
117
+ } ) [ 0 ] . focus ( ) ;
121
118
}
122
119
123
120
function step2 ( ) {
124
121
// On button
125
- inp = TestHelpers . datepicker . init ( "#inp" , { showOn : "button" , buttonText : "Popup" } ) ;
126
- ok ( ! dp . is ( ":visible" ) , "Button - initially hidden" ) ;
127
- button = inp . siblings ( "button" ) ;
128
- image = inp . siblings ( "img" ) ;
129
- ok ( button . length === 1 , "Button - button present" ) ;
130
- ok ( image . length === 0 , "Button - image absent" ) ;
131
- equal ( button . text ( ) , "Popup" , "Button - button text" ) ;
132
- inp [ 0 ] . focus ( ) ;
133
- setTimeout ( function ( ) {
134
- ok ( ! dp . is ( ":visible" ) , "Button - not rendered on focus" ) ;
122
+ inp = TestHelpers . datepicker . init ( "#inp" , { showOn : "button" , buttonText : "Popup" } ) ;
123
+ ok ( ! dp . is ( ":visible" ) , "Button - initially hidden" ) ;
124
+ button = inp . siblings ( "button" ) ;
125
+ image = inp . siblings ( "img" ) ;
126
+ ok ( button . length === 1 , "Button - button present" ) ;
127
+ ok ( image . length === 0 , "Button - image absent" ) ;
128
+ equal ( button . text ( ) , "Popup" , "Button - button text" ) ;
129
+
130
+ TestHelpers . datepicker . onBlurThenFocus ( inp , function ( ) {
131
+ ok ( ! dp . is ( ":visible" ) , "Button - not rendered on focus" ) ;
135
132
button . click ( ) ;
136
- ok ( dp . is ( ":visible" ) , "Button - rendered on button click" ) ;
133
+ ok ( dp . is ( ":visible" ) , "Button - rendered on button click" ) ;
137
134
button . click ( ) ;
138
- ok ( ! dp . is ( ":visible" ) , "Button - hidden on second button click" ) ;
139
- inp . datepicker ( "hide" ) . datepicker ( "destroy" ) ;
135
+ ok ( ! dp . is ( ":visible" ) , "Button - hidden on second button click" ) ;
136
+ inp . datepicker ( "hide" ) . datepicker ( "destroy" ) ;
140
137
141
138
step3 ( ) ;
142
139
} ) ;
143
140
}
144
141
145
142
function step3 ( ) {
146
143
// On image button
147
- inp = TestHelpers . datepicker . init ( "#inp" , { showOn : "button" , buttonImageOnly : true ,
148
- buttonImage : "images/calendar.gif" , buttonText : "Cal" } ) ;
149
- ok ( ! dp . is ( ":visible" ) , "Image button - initially hidden" ) ;
150
- button = inp . siblings ( "button" ) ;
151
- ok ( button . length === 0 , "Image button - button absent" ) ;
152
- image = inp . siblings ( "img" ) ;
153
- ok ( image . length === 1 , "Image button - image present" ) ;
154
- equal ( image . attr ( "src" ) , "images/calendar.gif" , "Image button - image source" ) ;
155
- equal ( image . attr ( "title" ) , "Cal" , "Image button - image text" ) ;
156
- inp [ 0 ] . focus ( ) ;
157
- setTimeout ( function ( ) {
158
- ok ( ! dp . is ( ":visible" ) , "Image button - not rendered on focus" ) ;
144
+ inp = TestHelpers . datepicker . init ( "#inp" , {
145
+ showOn : "button" ,
146
+ buttonImageOnly : true ,
147
+ buttonImage : "images/calendar.gif" ,
148
+ buttonText : "Cal"
149
+ } ) ;
150
+ ok ( ! dp . is ( ":visible" ) , "Image button - initially hidden" ) ;
151
+ button = inp . siblings ( "button" ) ;
152
+ ok ( button . length === 0 , "Image button - button absent" ) ;
153
+ image = inp . siblings ( "img" ) ;
154
+ ok ( image . length === 1 , "Image button - image present" ) ;
155
+ equal ( image . attr ( "src" ) , "images/calendar.gif" , "Image button - image source" ) ;
156
+ equal ( image . attr ( "title" ) , "Cal" , "Image button - image text" ) ;
157
+
158
+ TestHelpers . datepicker . onBlurThenFocus ( inp , function ( ) {
159
+ ok ( ! dp . is ( ":visible" ) , "Image button - not rendered on focus" ) ;
159
160
image . click ( ) ;
160
- ok ( dp . is ( ":visible" ) , "Image button - rendered on image click" ) ;
161
+ ok ( dp . is ( ":visible" ) , "Image button - rendered on image click" ) ;
161
162
image . click ( ) ;
162
- ok ( ! dp . is ( ":visible" ) , "Image button - hidden on second image click" ) ;
163
- inp . datepicker ( "hide" ) . datepicker ( "destroy" ) ;
163
+ ok ( ! dp . is ( ":visible" ) , "Image button - hidden on second image click" ) ;
164
+ inp . datepicker ( "hide" ) . datepicker ( "destroy" ) ;
164
165
165
166
step4 ( ) ;
166
167
} ) ;
167
168
}
168
169
169
170
function step4 ( ) {
170
171
// On both
171
- inp = TestHelpers . datepicker . init ( "#inp" , { showOn : "both" , buttonImage : "images/calendar.gif" } ) ;
172
- ok ( ! dp . is ( ":visible" ) , "Both - initially hidden" ) ;
173
- button = inp . siblings ( "button" ) ;
174
- ok ( button . length === 1 , "Both - button present" ) ;
175
- image = inp . siblings ( "img" ) ;
176
- ok ( image . length === 0 , "Both - image absent" ) ;
177
- image = button . children ( "img" ) ;
178
- ok ( image . length === 1 , "Both - button image present" ) ;
179
- inp [ 0 ] . blur ( ) ;
180
- setTimeout ( function ( ) {
181
- inp [ 0 ] . focus ( ) ;
182
- setTimeout ( function ( ) {
183
- ok ( dp . is ( ":visible" ) , "Both - rendered on focus" ) ;
184
- body . simulate ( "mousedown" , { } ) ;
185
- ok ( ! dp . is ( ":visible" ) , "Both - hidden on external click" ) ;
186
- button . click ( ) ;
187
- ok ( dp . is ( ":visible" ) , "Both - rendered on button click" ) ;
188
- button . click ( ) ;
189
- ok ( ! dp . is ( ":visible" ) , "Both - hidden on second button click" ) ;
190
- inp . datepicker ( "hide" ) . datepicker ( "destroy" ) ;
172
+ inp = TestHelpers . datepicker . init ( "#inp" , { showOn : "both" , buttonImage : "images/calendar.gif" } ) ;
173
+ ok ( ! dp . is ( ":visible" ) , "Both - initially hidden" ) ;
174
+ button = inp . siblings ( "button" ) ;
175
+ ok ( button . length === 1 , "Both - button present" ) ;
176
+ image = inp . siblings ( "img" ) ;
177
+ ok ( image . length === 0 , "Both - image absent" ) ;
178
+ image = button . children ( "img" ) ;
179
+ ok ( image . length === 1 , "Both - button image present" ) ;
191
180
192
- start ( ) ;
193
- } ) ;
181
+ TestHelpers . datepicker . onBlurThenFocus ( inp , function ( ) {
182
+ ok ( dp . is ( ":visible" ) , "Both - rendered on focus" ) ;
183
+ body . simulate ( "mousedown" , { } ) ;
184
+ ok ( ! dp . is ( ":visible" ) , "Both - hidden on external click" ) ;
185
+ button . click ( ) ;
186
+ ok ( dp . is ( ":visible" ) , "Both - rendered on button click" ) ;
187
+ button . click ( ) ;
188
+ ok ( ! dp . is ( ":visible" ) , "Both - hidden on second button click" ) ;
189
+ inp . datepicker ( "hide" ) . datepicker ( "destroy" ) ;
190
+
191
+ start ( ) ;
194
192
} ) ;
195
193
}
196
194
0 commit comments