/[projects]/misc/horsensspejder-web/jquery/jquery-ui-1.10.3/tests/unit/spinner/spinner_events.js
ViewVC logotype

Contents of /misc/horsensspejder-web/jquery/jquery-ui-1.10.3/tests/unit/spinner/spinner_events.js

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.20