~jstys-z/helioviewer.org/client5

« back to all changes in this revision

Viewing changes to lib/jquery/jquery.ui-1.6rc2/tests/spinner.js

  • Committer: V. Keith Hughitt
  • Date: 2009-03-26 19:20:57 UTC
  • Revision ID: hughitt1@kore-20090326192057-u0x8rf8sf5lmmnwh
nightly build 03-26-2009: Using alpha-channel JPEG 2000 dataset

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * spinner unit tests
3
 
 */
4
 
(function($) {
5
 
 
6
 
// Spinner Tests
7
 
module("spinner");
8
 
 
9
 
test("init", function() {
10
 
        expect(2);
11
 
 
12
 
        $("#spin").spinner();
13
 
        ok(true, '.spinner() called on element');
14
 
 
15
 
        $('<input id="spinner_dis">').spinner().remove();
16
 
        ok(true, '.spinner() called on disconnected element');
17
 
 
18
 
});
19
 
 
20
 
test("destroy", function() {
21
 
        expect(2);
22
 
 
23
 
        $("#spin").spinner().spinner("destroy");
24
 
        ok(true, '.spinner("destroy") called on element');
25
 
 
26
 
        $('<input id="spinner_dis">').spinner().spinner("destroy").remove();
27
 
        ok(true, '.spinner().spinner("destroy") called on disconnected element');
28
 
 
29
 
});
30
 
 
31
 
test("re-attach", function() {
32
 
        expect(2);
33
 
 
34
 
        el = $("#spin").spinner().spinner("destroy").spinner();
35
 
        ok(true, '.spinner().spinner("destroy").spinner() called on element');
36
 
 
37
 
        $('<input id="spinner_dis">').spinner().spinner("destroy").spinner().remove();
38
 
        ok(true, '.spinner().spinner("destroy").spinner() called on disconnected element');
39
 
 
40
 
});
41
 
 
42
 
test("disable", function() {
43
 
        expect(1);
44
 
 
45
 
        $("#spin").spinner().spinner("disable");
46
 
        ok(true, '.spinner("disable") called on element');
47
 
 
48
 
});
49
 
 
50
 
test("enable", function() {
51
 
        expect(1);
52
 
 
53
 
        $("#spin").spinner().spinner("disable").spinner("enable");
54
 
        ok(true, '.spinner("enable") called on element');
55
 
 
56
 
});
57
 
 
58
 
test("defaults", function() {
59
 
        expect(7);
60
 
        el = $("#spin").spinner();
61
 
 
62
 
        equals(el.data("currency.spinner"), false, "currency");
63
 
        equals(el.data("disabled.spinner"), false, "disabled");
64
 
        equals(el.data("incremental.spinner"), true, "incremental");
65
 
        equals(el.data("max.spinner"), undefined, "max");
66
 
        equals(el.data("min.spinner"), undefined, "min");
67
 
        equals(el.data("start.spinner"), 0, "start");
68
 
        equals(el.data("stepping.spinner"), 1, "stepping");
69
 
 
70
 
});
71
 
 
72
 
test("set defaults on init", function() {
73
 
        expect(7);
74
 
        el = $("#spin").spinner({ currency:"��", disabled:true, incremental:false, max:200, min:-100, start:50, stepping:2 });
75
 
 
76
 
        equals(el.data("currency.spinner"), "��", "currency");
77
 
        equals(el.data("disabled.spinner"), true, "disabled");
78
 
        equals(el.data("incremental.spinner"), false, "incremental");
79
 
        equals(el.data("max.spinner"), 200, "max");
80
 
        equals(el.data("min.spinner"), -100, "min");
81
 
        equals(el.data("start.spinner"), 50, "start");
82
 
        equals(el.data("stepping.spinner"), 2, "stepping");
83
 
 
84
 
});
85
 
 
86
 
test("keydown on input", function() {
87
 
        expect(6);
88
 
        el = $("#spin").spinner();
89
 
 
90
 
        equals(el.val(), 0, "start number");
91
 
 
92
 
        el.simulate("keydown",{keyCode:$.simulate.VK_UP})
93
 
                .simulate("keyup",{keyCode:$.simulate.VK_UP});
94
 
 
95
 
        equals(el.val(), 1, "Up key");
96
 
 
97
 
        el.simulate("keydown",{keyCode:$.simulate.VK_RIGHT})
98
 
                .simulate("keyup",{keyCode:$.simulate.VK_RIGHT});
99
 
 
100
 
        equals(el.val(), 1, "Right key");
101
 
 
102
 
        el.simulate("keydown",{keyCode:$.simulate.VK_HOME})
103
 
                .simulate("keyup",{keyCode:$.simulate.VK_HOME});
104
 
 
105
 
        equals(el.val(), 0, "Home key to start");
106
 
 
107
 
        el.simulate("keydown",{keyCode:$.simulate.VK_DOWN})
108
 
                .simulate("keyup",{keyCode:$.simulate.VK_DOWN});
109
 
 
110
 
        equals(el.val(), -1, "Down Key");
111
 
 
112
 
        el.simulate("keydown",{keyCode:$.simulate.VK_LEFT})
113
 
                .simulate("keyup",{keyCode:$.simulate.VK_LEFT});
114
 
 
115
 
        equals(el.val(), -1, "Left Key");
116
 
 
117
 
});
118
 
 
119
 
test("keydown on input with options", function() {
120
 
        expect(4);
121
 
 
122
 
        el = $("#spin").spinner({ incremental:false, max:200, min:-100, start:50, stepping:10 });
123
 
 
124
 
        equals(el.val(), 50, "start number");
125
 
 
126
 
        el.simulate("keydown",{keyCode:$.simulate.VK_UP})
127
 
                .simulate("keyup",{keyCode:$.simulate.VK_UP});
128
 
 
129
 
        equals(el.val(), 60, "stepping 10 on 50");
130
 
 
131
 
        el.simulate("keydown",{keyCode:$.simulate.VK_END})
132
 
                .simulate("keyup",{keyCode:$.simulate.VK_END});
133
 
 
134
 
        equals(el.val(), 200, "End key to max");
135
 
 
136
 
        el.simulate("keydown",{keyCode:$.simulate.VK_HOME})
137
 
                .simulate("keyup",{keyCode:$.simulate.VK_HOME});
138
 
 
139
 
        equals(el.val(), -100, "Home key to min");
140
 
 
141
 
 
142
 
});
143
 
 
144
 
test("currency and decimal options", function() {
145
 
        expect(5);
146
 
 
147
 
        el = $("#spin").spinner({ currency:"$", incremental:false, max:120, min:-50, stepping:0.3 });
148
 
 
149
 
        equals(el.val(), "$0.00", "start number");
150
 
 
151
 
        el.simulate("keydown",{keyCode:$.simulate.VK_UP})
152
 
                .simulate("keyup",{keyCode:$.simulate.VK_UP});
153
 
 
154
 
        equals(el.val(), "$0.30", "stepping 0.30");
155
 
 
156
 
        el.simulate("keydown",{keyCode:$.simulate.VK_END})
157
 
                .simulate("keyup",{keyCode:$.simulate.VK_END});
158
 
 
159
 
        equals(el.val(), "$120.00", "End key to max");
160
 
 
161
 
        el.simulate("keydown",{keyCode:$.simulate.VK_HOME})
162
 
                .simulate("keyup",{keyCode:$.simulate.VK_HOME});
163
 
 
164
 
        equals(el.val(), "-$50.00", "Home key to min");
165
 
 
166
 
        for ( var i = 1 ; i<=120 ; i++ ) {
167
 
                el.simulate("keydown",{keyCode:$.simulate.VK_UP});
168
 
        }
169
 
 
170
 
        el.simulate("keyup",{keyCode:$.simulate.VK_UP});
171
 
 
172
 
        equals(el.val(), "-$14.00", "keydown 120 times");
173
 
 
174
 
});
175
 
 
176
 
test("decimal options", function() {
177
 
        expect(3);
178
 
 
179
 
        el = $("#spin").spinner({ currency:false, incremental:false, stepping:0.7 });
180
 
 
181
 
        equals(el.val(), "0.0", "start number");
182
 
 
183
 
        el.simulate("keydown",{keyCode:$.simulate.VK_DOWN})
184
 
                .simulate("keyup",{keyCode:$.simulate.VK_DOWN});
185
 
 
186
 
        equals(el.val(), "-0.7", "stepping 0.7");
187
 
 
188
 
        for ( var i = 1 ; i<=11 ; i++ ) {
189
 
                el.simulate("keydown",{keyCode:$.simulate.VK_UP});
190
 
        }
191
 
 
192
 
        el.simulate("keyup",{keyCode:$.simulate.VK_UP});
193
 
 
194
 
        equals(el.val(), "7.0", "keydown 11 times");
195
 
 
196
 
});
197
 
 
198
 
test("spin without auto-incremental stepping", function() {
199
 
        expect(2);
200
 
 
201
 
        el = $("#spin").spinner({ incremental:false });
202
 
 
203
 
        for ( var i = 1 ; i<=120 ; i++ ) {
204
 
                el.simulate("keydown",{keyCode:$.simulate.VK_UP});
205
 
        }
206
 
 
207
 
        el.simulate("keyup",{keyCode:$.simulate.VK_UP});
208
 
 
209
 
        equals(el.val(), 120, "keydown 120 times");
210
 
 
211
 
        for ( var i = 1 ; i<=210 ; i++ ) {
212
 
                el.simulate("keydown",{keyCode:$.simulate.VK_DOWN});
213
 
        }
214
 
 
215
 
        el.simulate("keyup",{keyCode:$.simulate.VK_DOWN});
216
 
 
217
 
        equals(el.val(), -90, "keydown 210 times");
218
 
 
219
 
});
220
 
 
221
 
test("spin with auto-incremental stepping", function() {
222
 
        expect(2);
223
 
 
224
 
        el = $("#spin").spinner();
225
 
 
226
 
        for ( var i = 1 ; i<=120 ; i++ ) {
227
 
                el.simulate("keydown",{keyCode:$.simulate.VK_UP});
228
 
        }
229
 
 
230
 
        el.simulate("keyup",{keyCode:$.simulate.VK_UP});
231
 
 
232
 
        equals(el.val(), 300, "keydown 120 times (100+20*10)");
233
 
 
234
 
        for ( var i = 1 ; i<=210 ; i++ ) {
235
 
                el.simulate("keydown",{keyCode:$.simulate.VK_DOWN});
236
 
        }
237
 
 
238
 
        el.simulate("keyup",{keyCode:$.simulate.VK_DOWN});
239
 
 
240
 
        equals(el.val(), -1800, "keydown 210 times (300-100-100*10-10*100)");
241
 
 
242
 
});
243
 
 
244
 
test("mouse click on buttons", function() {
245
 
        expect(4);
246
 
        el = $("#spin").spinner();
247
 
 
248
 
        $(".ui-spinner-up").trigger("mousedown").trigger("mouseup");
249
 
 
250
 
        equals(el.val(), 1, "mouse click to up");
251
 
 
252
 
        $(".ui-spinner-up").trigger("dblclick");
253
 
 
254
 
        equals(el.val(), 2, "mouse double click to up");
255
 
 
256
 
        $(".ui-spinner-down").trigger("mousedown").trigger("mouseup");
257
 
 
258
 
        equals(el.val(), 1, "mouse click to down");
259
 
 
260
 
        $(".ui-spinner-down").trigger("dblclick");
261
 
 
262
 
        equals(el.val(), 0, "mouse double click to down");
263
 
 
264
 
 
265
 
});
266
 
 
267
 
test("callback", function() {
268
 
        expect(4);
269
 
 
270
 
        var s = c = d = u = 0;
271
 
 
272
 
        el = $("#spin").spinner({
273
 
                spin: function(){
274
 
                        s++;
275
 
                },
276
 
                change: function(){
277
 
                        c++;
278
 
                },
279
 
                up: function(){
280
 
                        u++;
281
 
                },
282
 
                down: function(){
283
 
                        d++;
284
 
                }
285
 
        });
286
 
 
287
 
        el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP});
288
 
 
289
 
        equals(u, 1, "Up 1 time");
290
 
 
291
 
        el.simulate("keydown",{keyCode:$.simulate.VK_DOWN}).simulate("keyup",{keyCode:$.simulate.VK_DOWN});
292
 
 
293
 
        equals(d, 1, "Down 1 time");
294
 
 
295
 
        el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP});
296
 
 
297
 
        equals(s, 3, "Spin 3 times");
298
 
 
299
 
        el.simulate("keydown",{keyCode:$.simulate.VK_UP}).simulate("keyup",{keyCode:$.simulate.VK_UP});
300
 
 
301
 
        equals(c, 4, "Change 4 times");
302
 
 
303
 
});
304
 
 
305
 
test("mouse wheel on input", function() {
306
 
        expect(0);
307
 
 
308
 
 
309
 
});
310
 
 
311
 
})(jQuery);