corrade-http-templates – Blame information for rev 57
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
57 | office | 1 | define( [ |
2 | "qunit", |
||
3 | "jquery", |
||
4 | "./helper", |
||
5 | "ui/widgets/spinner" |
||
6 | ], function( QUnit, $, testHelper ) { |
||
7 | |||
8 | var simulateKeyDownUp = testHelper.simulateKeyDownUp; |
||
9 | |||
10 | QUnit.module( "spinner: events" ); |
||
11 | |||
12 | QUnit.test( "start", function( assert ) { |
||
13 | assert.expect( 10 ); |
||
14 | var element = $( "#spin" ).spinner(); |
||
15 | |||
16 | function shouldStart( expectation, msg ) { |
||
17 | element.spinner( "option", "start", function() { |
||
18 | assert.ok( expectation, msg ); |
||
19 | } ); |
||
20 | } |
||
21 | |||
22 | shouldStart( true, "key UP" ); |
||
23 | simulateKeyDownUp( element, $.ui.keyCode.UP ); |
||
24 | shouldStart( true, "key DOWN" ); |
||
25 | simulateKeyDownUp( element, $.ui.keyCode.DOWN ); |
||
26 | |||
27 | shouldStart( true, "key PAGE_UP" ); |
||
28 | simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); |
||
29 | shouldStart( true, "key PAGE_DOWN" ); |
||
30 | simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); |
||
31 | |||
32 | shouldStart( true, "button up" ); |
||
33 | element.spinner( "widget" ).find( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); |
||
34 | shouldStart( true, "button down" ); |
||
35 | element.spinner( "widget" ).find( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" ); |
||
36 | |||
37 | shouldStart( true, "stepUp" ); |
||
38 | element.spinner( "stepUp" ); |
||
39 | shouldStart( true, "stepDown" ); |
||
40 | element.spinner( "stepDown" ); |
||
41 | |||
42 | shouldStart( true, "pageUp" ); |
||
43 | element.spinner( "pageUp" ); |
||
44 | shouldStart( true, "pageDown" ); |
||
45 | element.spinner( "pageDown" ); |
||
46 | |||
47 | shouldStart( false, "value" ); |
||
48 | element.spinner( "value", 999 ); |
||
49 | } ); |
||
50 | |||
51 | QUnit.test( "spin", function( assert ) { |
||
52 | assert.expect( 10 ); |
||
53 | var element = $( "#spin" ).spinner(); |
||
54 | |||
55 | function shouldSpin( expectation, msg ) { |
||
56 | element.spinner( "option", "spin", function() { |
||
57 | assert.ok( expectation, msg ); |
||
58 | } ); |
||
59 | } |
||
60 | |||
61 | shouldSpin( true, "key UP" ); |
||
62 | simulateKeyDownUp( element, $.ui.keyCode.UP ); |
||
63 | shouldSpin( true, "key DOWN" ); |
||
64 | simulateKeyDownUp( element, $.ui.keyCode.DOWN ); |
||
65 | |||
66 | shouldSpin( true, "key PAGE_UP" ); |
||
67 | simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); |
||
68 | shouldSpin( true, "key PAGE_DOWN" ); |
||
69 | simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); |
||
70 | |||
71 | shouldSpin( true, "button up" ); |
||
72 | element.spinner( "widget" ).find( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); |
||
73 | shouldSpin( true, "button down" ); |
||
74 | element.spinner( "widget" ).find( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" ); |
||
75 | |||
76 | shouldSpin( true, "stepUp" ); |
||
77 | element.spinner( "stepUp" ); |
||
78 | shouldSpin( true, "stepDown" ); |
||
79 | element.spinner( "stepDown" ); |
||
80 | |||
81 | shouldSpin( true, "pageUp" ); |
||
82 | element.spinner( "pageUp" ); |
||
83 | shouldSpin( true, "pageDown" ); |
||
84 | element.spinner( "pageDown" ); |
||
85 | |||
86 | shouldSpin( false, "value" ); |
||
87 | element.spinner( "value", 999 ); |
||
88 | } ); |
||
89 | |||
90 | QUnit.test( "stop", function( assert ) { |
||
91 | assert.expect( 10 ); |
||
92 | var element = $( "#spin" ).spinner(); |
||
93 | |||
94 | function shouldStop( expectation, msg ) { |
||
95 | element.spinner( "option", "stop", function() { |
||
96 | assert.ok( expectation, msg ); |
||
97 | } ); |
||
98 | } |
||
99 | |||
100 | shouldStop( true, "key UP" ); |
||
101 | simulateKeyDownUp( element, $.ui.keyCode.UP ); |
||
102 | shouldStop( true, "key DOWN" ); |
||
103 | simulateKeyDownUp( element, $.ui.keyCode.DOWN ); |
||
104 | |||
105 | shouldStop( true, "key PAGE_UP" ); |
||
106 | simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); |
||
107 | shouldStop( true, "key PAGE_DOWN" ); |
||
108 | simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); |
||
109 | |||
110 | shouldStop( true, "button up" ); |
||
111 | element.spinner( "widget" ).find( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); |
||
112 | shouldStop( true, "button down" ); |
||
113 | element.spinner( "widget" ).find( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" ); |
||
114 | |||
115 | shouldStop( true, "stepUp" ); |
||
116 | element.spinner( "stepUp" ); |
||
117 | shouldStop( true, "stepDown" ); |
||
118 | element.spinner( "stepDown" ); |
||
119 | |||
120 | shouldStop( true, "pageUp" ); |
||
121 | element.spinner( "pageUp" ); |
||
122 | shouldStop( true, "pageDown" ); |
||
123 | element.spinner( "pageDown" ); |
||
124 | |||
125 | shouldStop( false, "value" ); |
||
126 | element.spinner( "value", 999 ); |
||
127 | } ); |
||
128 | |||
129 | QUnit.test( "change", function( assert ) { |
||
130 | var ready = assert.async(); |
||
131 | assert.expect( 12 ); |
||
132 | var element = $( "#spin" ).spinner(); |
||
133 | |||
134 | function shouldChange( expectation, msg ) { |
||
135 | element.spinner( "option", "change", function() { |
||
136 | assert.ok( expectation, msg ); |
||
137 | } ); |
||
138 | } |
||
139 | |||
140 | function focusWrap( fn, next ) { |
||
141 | element[ 0 ].focus(); |
||
142 | setTimeout( function() { |
||
143 | fn(); |
||
144 | setTimeout( function() { |
||
145 | element[ 0 ].blur(); |
||
146 | setTimeout( next ); |
||
147 | } ); |
||
148 | } ); |
||
149 | } |
||
150 | |||
151 | function step1() { |
||
152 | focusWrap( function() { |
||
153 | shouldChange( false, "key UP, before blur" ); |
||
154 | simulateKeyDownUp( element, $.ui.keyCode.UP ); |
||
155 | shouldChange( true, "blur after key UP" ); |
||
156 | }, step2 ); |
||
157 | } |
||
158 | |||
159 | function step2() { |
||
160 | focusWrap( function() { |
||
161 | shouldChange( false, "key DOWN, before blur" ); |
||
162 | simulateKeyDownUp( element, $.ui.keyCode.DOWN ); |
||
163 | shouldChange( true, "blur after key DOWN" ); |
||
164 | }, step3 ); |
||
165 | } |
||
166 | |||
167 | function step3() { |
||
168 | focusWrap( function() { |
||
169 | shouldChange( false, "key PAGE_UP, before blur" ); |
||
170 | simulateKeyDownUp( element, $.ui.keyCode.PAGE_UP ); |
||
171 | shouldChange( true, "blur after key PAGE_UP" ); |
||
172 | }, step4 ); |
||
173 | } |
||
174 | |||
175 | function step4() { |
||
176 | focusWrap( function() { |
||
177 | shouldChange( false, "key PAGE_DOWN, before blur" ); |
||
178 | simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); |
||
179 | shouldChange( true, "blur after key PAGE_DOWN" ); |
||
180 | }, step5 ); |
||
181 | } |
||
182 | |||
183 | function step5() { |
||
184 | focusWrap( function() { |
||
185 | shouldChange( false, "many keys, before blur" ); |
||
186 | simulateKeyDownUp( element, $.ui.keyCode.PAGE_DOWN ); |
||
187 | simulateKeyDownUp( element, $.ui.keyCode.UP ); |
||
188 | simulateKeyDownUp( element, $.ui.keyCode.UP ); |
||
189 | simulateKeyDownUp( element, $.ui.keyCode.UP ); |
||
190 | simulateKeyDownUp( element, $.ui.keyCode.DOWN ); |
||
191 | shouldChange( true, "blur after many keys" ); |
||
192 | }, step6 ); |
||
193 | } |
||
194 | |||
195 | function step6() { |
||
196 | focusWrap( function() { |
||
197 | shouldChange( false, "many keys, same final value, before blur" ); |
||
198 | simulateKeyDownUp( element, $.ui.keyCode.UP ); |
||
199 | simulateKeyDownUp( element, $.ui.keyCode.UP ); |
||
200 | simulateKeyDownUp( element, $.ui.keyCode.DOWN ); |
||
201 | simulateKeyDownUp( element, $.ui.keyCode.DOWN ); |
||
202 | shouldChange( false, "blur after many keys, same final value" ); |
||
203 | |||
204 | shouldChange( false, "button up, before blur" ); |
||
205 | element.spinner( "widget" ).find( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); |
||
206 | shouldChange( true, "blur after button up" ); |
||
207 | }, step7 ); |
||
208 | } |
||
209 | |||
210 | function step7() { |
||
211 | focusWrap( function() { |
||
212 | shouldChange( false, "button down, before blur" ); |
||
213 | element.spinner( "widget" ).find( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" ); |
||
214 | shouldChange( true, "blur after button down" ); |
||
215 | }, step8 ); |
||
216 | } |
||
217 | |||
218 | function step8() { |
||
219 | focusWrap( function() { |
||
220 | shouldChange( false, "many buttons, same final value, before blur" ); |
||
221 | element.spinner( "widget" ).find( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); |
||
222 | element.spinner( "widget" ).find( ".ui-spinner-up" ).trigger( "mousedown" ).trigger( "mouseup" ); |
||
223 | element.spinner( "widget" ).find( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" ); |
||
224 | element.spinner( "widget" ).find( ".ui-spinner-down" ).trigger( "mousedown" ).trigger( "mouseup" ); |
||
225 | shouldChange( false, "blur after many buttons, same final value" ); |
||
226 | }, step9 ); |
||
227 | } |
||
228 | |||
229 | function step9() { |
||
230 | shouldChange( true, "stepUp" ); |
||
231 | element.spinner( "stepUp" ); |
||
232 | |||
233 | shouldChange( true, "stepDown" ); |
||
234 | element.spinner( "stepDown" ); |
||
235 | |||
236 | shouldChange( true, "pageUp" ); |
||
237 | element.spinner( "pageUp" ); |
||
238 | |||
239 | shouldChange( true, "pageDown" ); |
||
240 | element.spinner( "pageDown" ); |
||
241 | |||
242 | shouldChange( true, "value" ); |
||
243 | element.spinner( "value", 999 ); |
||
244 | |||
245 | shouldChange( false, "value, same value" ); |
||
246 | element.spinner( "value", 999 ); |
||
247 | |||
248 | shouldChange( false, "max, value not changed" ); |
||
249 | element.spinner( "option", "max", 900 ); |
||
250 | |||
251 | shouldChange( false, "max, value not changed" ); |
||
252 | element.spinner( "option", "max", 1000 ); |
||
253 | |||
254 | shouldChange( false, "min, value not changed" ); |
||
255 | element.spinner( "option", "min", 950 ); |
||
256 | |||
257 | shouldChange( false, "min, value not changed" ); |
||
258 | element.spinner( "option", "min", 200 ); |
||
259 | ready(); |
||
260 | } |
||
261 | |||
262 | setTimeout( step1 ); |
||
263 | } ); |
||
264 | |||
265 | } ); |