corrade-http-templates – Blame information for rev 62

Subversion Repositories:
Rev:
Rev Author Line No. Line
62 office 1 define( [
2 "qunit",
3 "jquery",
4 "ui/widgets/slider"
5 ], function( QUnit, $ ) {
6  
7 var element, options;
8  
9 function handle() {
10 return element.find( ".ui-slider-handle" );
11 }
12  
13 // Slider Tests
14 QUnit.module( "slider: core" );
15  
16 QUnit.test( "markup structure", function( assert ) {
17 assert.expect( 4 );
18 var element = $( "<div>" ).slider( { range: true } ),
19 handle = element.find( "span" ),
20 range = element.find( "div" );
21  
22 assert.hasClasses( element, "ui-slider ui-slider-horizontal ui-widget ui-widget-content" );
23 assert.hasClasses( range, "ui-slider-range ui-widget-header" );
24 assert.hasClasses( handle[ 0 ], "ui-slider-handle" );
25 assert.hasClasses( handle[ 1 ], "ui-slider-handle" );
26 } );
27  
28 QUnit.test( "custom handle", function( assert ) {
29 assert.expect( 3 );
30  
31 var element = $( "#slider-custom-handle" ).slider();
32 var customHandle = $( ".custom-handle" );
33 var sliderHandles = element.find( ".ui-slider-handle" );
34  
35 assert.equal( sliderHandles.length, 1, "Only one handle" );
36 assert.strictEqual( sliderHandles[ 0 ], customHandle[ 0 ], "Correct handle" );
37 assert.equal( customHandle.attr( "tabIndex" ), 0, "tabIndex" );
38 } );
39  
40 QUnit.test( "keydown HOME on handle sets value to min", function( assert ) {
41 assert.expect( 2 );
42 element = $( "<div></div>" );
43 options = {
44 max: 5,
45 min: -5,
46 orientation: "horizontal",
47 step: 1
48 };
49 element.slider( options );
50  
51 element.slider( "value", 0 );
52  
53 handle().simulate( "keydown", { keyCode: $.ui.keyCode.HOME } );
54 assert.equal( element.slider( "value" ), options.min );
55  
56 element.slider( "destroy" );
57  
58 element = $( "<div></div>" );
59 options = {
60 max: 5,
61 min: -5,
62 orientation: "vertical",
63 step: 1
64 };
65 element.slider( options );
66  
67 element.slider( "value", 0 );
68  
69 handle().simulate( "keydown", { keyCode: $.ui.keyCode.HOME } );
70 assert.equal( element.slider( "value" ), options.min ) ;
71  
72 element.slider( "destroy" );
73 } );
74  
75 QUnit.test( "keydown END on handle sets value to max", function( assert ) {
76 assert.expect( 2 );
77 element = $( "<div></div>" );
78 options = {
79 max: 5,
80 min: -5,
81 orientation: "horizontal",
82 step: 1
83 };
84 element.slider( options );
85  
86 element.slider( "value", 0 );
87  
88 handle().simulate( "keydown", { keyCode: $.ui.keyCode.END } );
89 assert.equal( element.slider( "value" ), options.max ) ;
90  
91 element.slider( "destroy" );
92  
93 element = $( "<div></div>" );
94 options = {
95 max: 5,
96 min: -5,
97 orientation: "vertical",
98 step: 1
99 };
100 element.slider( options );
101  
102 element.slider( "value", 0 );
103  
104 handle().simulate( "keydown", { keyCode: $.ui.keyCode.END } );
105 assert.equal( element.slider( "value" ), options.max );
106  
107 element.slider( "destroy" );
108 } );
109  
110 QUnit.test( "keydown PAGE_UP on handle increases value by 1/5 range, not greater than max", function( assert ) {
111 assert.expect( 4 );
112 $.each( [ "horizontal", "vertical" ], function( i, orientation ) {
113 element = $( "<div></div>" );
114 options = {
115 max: 100,
116 min: 0,
117 orientation: orientation,
118 step: 1
119 };
120 element.slider( options );
121  
122 element.slider( "value", 70 );
123  
124 handle().simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP } );
125 assert.equal( element.slider( "value" ), 90 );
126  
127 handle().simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP } );
128 assert.equal( element.slider( "value" ), 100 );
129  
130 element.slider( "destroy" );
131 } );
132 } );
133  
134 QUnit.test( "keydown PAGE_DOWN on handle decreases value by 1/5 range, not less than min", function( assert ) {
135 assert.expect( 4 );
136 $.each( [ "horizontal", "vertical" ], function( i, orientation ) {
137 element = $( "<div></div>" );
138 options = {
139 max: 100,
140 min: 0,
141 orientation: orientation,
142 step: 1
143 };
144 element.slider( options );
145  
146 element.slider( "value", 30 );
147  
148 handle().simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN } );
149 assert.equal( element.slider( "value" ), 10 );
150  
151 handle().simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN } );
152 assert.equal( element.slider( "value" ), 0 );
153  
154 element.slider( "destroy" );
155 } );
156 } );
157  
158 QUnit.test( "keydown UP on handle increases value by step, not greater than max", function( assert ) {
159 assert.expect( 4 );
160 element = $( "<div></div>" );
161 options = {
162 max: 5,
163 min: -5,
164 orientation: "horizontal",
165 step: 1
166 };
167 element.slider( options );
168  
169 element.slider( "value", options.max - options.step );
170  
171 handle().simulate( "keydown", { keyCode: $.ui.keyCode.UP } );
172 assert.equal( element.slider( "value" ), options.max );
173  
174 handle().simulate( "keydown", { keyCode: $.ui.keyCode.UP } );
175 assert.equal( element.slider( "value" ), options.max );
176  
177 element.slider( "destroy" );
178  
179 element = $( "<div></div>" );
180 options = {
181 max: 5,
182 min: -5,
183 orientation: "vertical",
184 step: 1
185 };
186 element.slider( options );
187  
188 element.slider( "value", options.max - options.step );
189  
190 handle().simulate( "keydown", { keyCode: $.ui.keyCode.UP } );
191 assert.equal( element.slider( "value" ), options.max );
192  
193 handle().simulate( "keydown", { keyCode: $.ui.keyCode.UP } );
194 assert.equal( element.slider( "value" ), options.max );
195  
196 element.slider( "destroy" );
197 } );
198  
199 QUnit.test( "keydown RIGHT on handle increases value by step, not greater than max", function( assert ) {
200 assert.expect( 4 );
201 element = $( "<div></div>" );
202 options = {
203 max: 5,
204 min: -5,
205 orientation: "horizontal",
206 step: 1
207 };
208 element.slider( options );
209  
210 element.slider( "value", options.max - options.step );
211  
212 handle().simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } );
213 assert.equal( element.slider( "value" ), options.max );
214  
215 handle().simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } );
216 assert.equal( element.slider( "value" ), options.max );
217  
218 element.slider( "destroy" );
219  
220 element = $( "<div></div>" );
221 options = {
222 max: 5,
223 min: -5,
224 orientation: "vertical",
225 step: 1
226 };
227 element.slider( options );
228  
229 element.slider( "value", options.max - options.step );
230  
231 handle().simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } );
232 assert.equal( element.slider( "value" ), options.max );
233  
234 handle().simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } );
235 assert.equal( element.slider( "value" ), options.max );
236  
237 element.slider( "destroy" );
238 } );
239  
240 QUnit.test( "keydown DOWN on handle decreases value by step, not less than min", function( assert ) {
241 assert.expect( 4 );
242 element = $( "<div></div>" );
243 options = {
244 max: 5,
245 min: -5,
246 orientation: "horizontal",
247 step: 1
248 };
249 element.slider( options );
250  
251 element.slider( "value", options.min + options.step );
252  
253 handle().simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
254 assert.equal( element.slider( "value" ), options.min );
255  
256 handle().simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
257 assert.equal( element.slider( "value" ), options.min );
258  
259 element.slider( "destroy" );
260  
261 element = $( "<div></div>" );
262 options = {
263 max: 5,
264 min: -5,
265 orientation: "vertical",
266 step: 1
267 };
268 element.slider( options );
269  
270 element.slider( "value", options.min + options.step );
271  
272 handle().simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
273 assert.equal( element.slider( "value" ), options.min );
274  
275 handle().simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
276 assert.equal( element.slider( "value" ), options.min );
277  
278 element.slider( "destroy" );
279 } );
280  
281 QUnit.test( "keydown LEFT on handle decreases value by step, not less than min", function( assert ) {
282 assert.expect( 4 );
283 element = $( "<div></div>" );
284 options = {
285 max: 5,
286 min: -5,
287 orientation: "horizontal",
288 step: 1
289 };
290 element.slider( options );
291  
292 element.slider( "value", options.min + options.step );
293  
294 handle().simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } );
295 assert.equal( element.slider( "value" ), options.min );
296  
297 handle().simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } );
298 assert.equal( element.slider( "value" ), options.min );
299  
300 element.slider( "destroy" );
301  
302 element = $( "<div></div>" );
303 options = {
304 max: 5,
305 min: -5,
306 orientation: "vertical",
307 step: 1
308 };
309 element.slider( options );
310  
311 element.slider( "value", options.min + options.step );
312  
313 handle().simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } );
314 assert.equal( element.slider( "value" ), options.min );
315  
316 handle().simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } );
317 assert.equal( element.slider( "value" ), options.min );
318  
319 element.slider( "destroy" );
320 } );
321  
322 } );