imported the whole jquery-ui package, refreshed with 1.10.2
[myslice.git] / third-party / jquery-ui-1.10.2 / tests / unit / slider / slider_core.js
1 /*
2  * slider unit tests
3  */
4 (function( $ ) {
5 //
6 // Slider Test Helper Functions
7 //
8
9 var element, options;
10
11 function handle() {
12         return element.find( ".ui-slider-handle" );
13 }
14
15 // Slider Tests
16 module( "slider: core" );
17
18 test( "keydown HOME on handle sets value to min", function() {
19         expect( 2 );
20         element = $( "<div></div>" );
21         options = {
22                 max: 5,
23                 min: -5,
24                 orientation: "horizontal",
25                 step: 1
26         };
27         element.slider( options );
28
29         element.slider( "value", 0 );
30
31         handle().simulate( "keydown", { keyCode: $.ui.keyCode.HOME } );
32         equal(element.slider( "value" ), options.min );
33
34         element.slider( "destroy" );
35
36         element = $( "<div></div>" );
37         options = {
38                 max: 5,
39                 min: -5,
40                 orientation: "vertical",
41                 step: 1
42         };
43         element.slider( options );
44
45         element.slider( "value", 0 );
46
47         handle().simulate( "keydown", { keyCode: $.ui.keyCode.HOME } );
48         equal(element.slider( "value" ), options.min) ;
49
50         element.slider( "destroy" );
51 });
52
53 test( "keydown END on handle sets value to max", function() {
54         expect( 2 );
55         element = $( "<div></div>" );
56         options = {
57                 max: 5,
58                 min: -5,
59                 orientation: "horizontal",
60                 step: 1
61         };
62         element.slider( options );
63
64         element.slider( "value", 0 );
65
66         handle().simulate( "keydown", { keyCode: $.ui.keyCode.END } );
67         equal(element.slider( "value" ), options.max) ;
68
69         element.slider( "destroy" );
70
71         element = $( "<div></div>" );
72         options = {
73                 max: 5,
74                 min: -5,
75                 orientation: "vertical",
76                 step: 1
77         };
78         element.slider( options );
79
80         element.slider( "value", 0 );
81
82         handle().simulate( "keydown", { keyCode: $.ui.keyCode.END } );
83         equal(element.slider( "value" ), options.max );
84
85         element.slider( "destroy" );
86 });
87
88 test( "keydown PAGE_UP on handle increases value by 1/5 range, not greater than max", function() {
89         expect( 4 );
90         $.each( [ "horizontal", "vertical" ], function( i, orientation ) {
91                 element = $( "<div></div>" );
92                 options = {
93                         max: 100,
94                         min: 0,
95                         orientation: orientation,
96                         step: 1
97                 };
98                 element.slider( options );
99
100                 element.slider( "value", 70);
101
102                 handle().simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP } );
103                 equal(element.slider( "value" ), 90);
104
105                 handle().simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP } );
106                 equal(element.slider( "value" ), 100);
107
108                 element.slider( "destroy" );
109         });
110 });
111
112 test( "keydown PAGE_DOWN on handle decreases value by 1/5 range, not less than min", function() {
113         expect( 4 );
114         $.each( [ "horizontal", "vertical" ], function( i, orientation ) {
115                 element = $( "<div></div>" );
116                 options = {
117                         max: 100,
118                         min: 0,
119                         orientation: orientation,
120                         step: 1
121                 };
122                 element.slider( options );
123
124                 element.slider( "value", 30);
125
126                 handle().simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN } );
127                 equal(element.slider( "value" ), 10);
128
129                 handle().simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN } );
130                 equal(element.slider( "value" ), 0 );
131
132                 element.slider( "destroy" );
133         });
134 });
135
136 test( "keydown UP on handle increases value by step, not greater than max", function() {
137         expect( 4 );
138         element = $( "<div></div>" );
139         options = {
140                 max: 5,
141                 min: -5,
142                 orientation: "horizontal",
143                 step: 1
144         };
145         element.slider(options);
146
147         element.slider( "value", options.max - options.step );
148
149         handle().simulate( "keydown", { keyCode: $.ui.keyCode.UP } );
150         equal(element.slider( "value" ), options.max );
151
152         handle().simulate( "keydown", { keyCode: $.ui.keyCode.UP } );
153         equal(element.slider( "value" ), options.max );
154
155         element.slider( "destroy" );
156
157         element = $( "<div></div>" );
158         options = {
159                 max: 5,
160                 min: -5,
161                 orientation: "vertical",
162                 step: 1
163         };
164         element.slider( options );
165
166         element.slider( "value", options.max - options.step );
167
168         handle().simulate( "keydown", { keyCode: $.ui.keyCode.UP } );
169         equal(element.slider( "value" ), options.max );
170
171         handle().simulate( "keydown", { keyCode: $.ui.keyCode.UP } );
172         equal(element.slider( "value" ), options.max );
173
174         element.slider( "destroy" );
175 });
176
177 test( "keydown RIGHT on handle increases value by step, not greater than max", function() {
178         expect( 4 );
179         element = $( "<div></div>" );
180         options = {
181                 max: 5,
182                 min: -5,
183                 orientation: "horizontal",
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.RIGHT } );
191         equal(element.slider( "value" ), options.max);
192
193         handle().simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } );
194         equal(element.slider( "value" ), options.max );
195
196         element.slider( "destroy" );
197
198         element = $( "<div></div>" );
199         options = {
200                 max: 5,
201                 min: -5,
202                 orientation: "vertical",
203                 step: 1
204         };
205         element.slider( options );
206
207         element.slider( "value", options.max - options.step );
208
209         handle().simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } );
210         equal(element.slider( "value" ), options.max );
211
212         handle().simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } );
213         equal(element.slider( "value" ), options.max );
214
215         element.slider( "destroy" );
216 });
217
218 test( "keydown DOWN on handle decreases value by step, not less than min", function() {
219         expect( 4 );
220         element = $( "<div></div>" );
221         options = {
222                 max: 5,
223                 min: -5,
224                 orientation: "horizontal",
225                 step: 1
226         };
227         element.slider( options );
228
229         element.slider( "value", options.min + options.step );
230
231         handle().simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
232         equal(element.slider( "value" ), options.min);
233
234         handle().simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
235         equal(element.slider( "value" ), options.min );
236
237         element.slider( "destroy" );
238
239         element = $( "<div></div>" );
240         options = {
241                 max: 5,
242                 min: -5,
243                 orientation: "vertical",
244                 step: 1
245         };
246         element.slider( options );
247
248         element.slider( "value", options.min + options.step );
249
250         handle().simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
251         equal(element.slider( "value" ), options.min);
252
253         handle().simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
254         equal(element.slider( "value" ), options.min );
255
256         element.slider( "destroy" );
257 });
258
259 test( "keydown LEFT on handle decreases value by step, not less than min", function() {
260         expect( 4 );
261         element = $( "<div></div>" );
262         options = {
263                 max: 5,
264                 min: -5,
265                 orientation: "horizontal",
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.LEFT } );
273         equal(element.slider( "value" ), options.min );
274
275         handle().simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } );
276         equal(element.slider( "value" ), options.min );
277
278         element.slider( "destroy" );
279
280         element = $( "<div></div>" );
281         options = {
282                 max: 5,
283                 min: -5,
284                 orientation: "vertical",
285                 step: 1
286         };
287         element.slider( options );
288
289         element.slider( "value", options.min + options.step );
290
291         handle().simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } );
292         equal(element.slider( "value" ), options.min );
293
294         handle().simulate( "keydown", { keyCode: $.ui.keyCode.LEFT } );
295         equal(element.slider( "value" ), options.min );
296
297         element.slider( "destroy" );
298 });
299
300 })( jQuery );