Skip to content

Commit 2b611ba

Browse files
committed
Calendar: Create helper methods for Date object creation
1 parent d6de67a commit 2b611ba

File tree

7 files changed

+100
-84
lines changed

7 files changed

+100
-84
lines changed

tests/unit/calendar/core.js

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ QUnit.test( "Localization", function( assert ) {
9595
assert.expect( 10 );
9696

9797
var that = this,
98-
date = new Date( 2014, 0, 1 ),
98+
date = testHelper.createDate( 2014, 0, 1 ),
9999
optionsDe = {
100100
locale: "de",
101101
labels: {
@@ -149,7 +149,7 @@ QUnit.test( "keyboard handling", function( assert ) {
149149
that = this;
150150

151151
function step1() {
152-
that.element.calendar( { value: new Date( 2014, 1 - 1, 1 ) } );
152+
that.element.calendar( { value: testHelper.createDate( 2014, 1 - 1, 1 ) } );
153153

154154
testHelper
155155
.focusGrid( that.element )
@@ -158,7 +158,7 @@ QUnit.test( "keyboard handling", function( assert ) {
158158
$( document.activeElement ).simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } );
159159
assert.dateEqual(
160160
that.element.calendar( "valueAsDate" ),
161-
new Date( 2013, 12 - 1, 31 ),
161+
testHelper.createDate( 2013, 12 - 1, 31 ),
162162
"Keystroke left to switch to previous day"
163163
);
164164
that.element.calendar( "destroy" );
@@ -167,29 +167,29 @@ QUnit.test( "keyboard handling", function( assert ) {
167167
}
168168

169169
function step2() {
170-
that.element.calendar( { value: new Date( 2014, 1 - 1, 1 ) } );
170+
that.element.calendar( { value: testHelper.createDate( 2014, 1 - 1, 1 ) } );
171171

172172
testHelper.focusGrid( that.element )
173173
.simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } )
174174
.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } );
175175

176176
assert.dateEqual(
177177
that.element.calendar( "valueAsDate" ),
178-
new Date( 2014, 1 - 1, 2 ),
178+
testHelper.createDate( 2014, 1 - 1, 2 ),
179179
"Keystroke right to switch to next day"
180180
);
181181
step3();
182182
}
183183

184184
function step3() {
185-
that.element.calendar( { value: new Date( 2014, 1 - 1, 1 ) } );
185+
that.element.calendar( { value: testHelper.createDate( 2014, 1 - 1, 1 ) } );
186186

187187
testHelper.focusGrid( that.element ).simulate( "keydown", { keyCode: $.ui.keyCode.UP } );
188188
setTimeout( function() {
189189
$( document.activeElement ).simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } );
190190
assert.dateEqual(
191191
that.element.calendar( "valueAsDate" ),
192-
new Date( 2013, 12 - 1, 25 ),
192+
testHelper.createDate( 2013, 12 - 1, 25 ),
193193
"Keystroke up to move to the previous week"
194194
);
195195
that.element.calendar( "destroy" );
@@ -198,14 +198,14 @@ QUnit.test( "keyboard handling", function( assert ) {
198198
}
199199

200200
function step4() {
201-
that.element.calendar( { value: new Date( 2014, 1 - 1, 1 ) } );
201+
that.element.calendar( { value: testHelper.createDate( 2014, 1 - 1, 1 ) } );
202202

203203
testHelper.focusGrid( that.element ).simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
204204
setTimeout( function() {
205205
$( document.activeElement ).simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } );
206206
assert.dateEqual(
207207
that.element.calendar( "valueAsDate" ),
208-
new Date( 2014, 1 - 1, 8 ),
208+
testHelper.createDate( 2014, 1 - 1, 8 ),
209209
"Keystroke down to move to the next week"
210210
);
211211
that.element.calendar( "destroy" );
@@ -214,14 +214,14 @@ QUnit.test( "keyboard handling", function( assert ) {
214214
}
215215

216216
function step5() {
217-
that.element.calendar( { value: new Date( 2014, 1 - 1, 1 ) } );
217+
that.element.calendar( { value: testHelper.createDate( 2014, 1 - 1, 1 ) } );
218218

219219
testHelper.focusGrid( that.element ).simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP } );
220220
setTimeout( function() {
221221
$( document.activeElement ).simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } );
222222
assert.dateEqual(
223223
that.element.calendar( "valueAsDate" ),
224-
new Date( 2013, 12 - 1, 1 ),
224+
testHelper.createDate( 2013, 12 - 1, 1 ),
225225
"Keystroke Page Up moves date to previous month"
226226
);
227227
that.element.calendar( "destroy" );
@@ -230,15 +230,15 @@ QUnit.test( "keyboard handling", function( assert ) {
230230
}
231231

232232
function step6() {
233-
that.element.calendar( { value: new Date( 2014, 1 - 1, 1 ) } );
233+
that.element.calendar( { value: testHelper.createDate( 2014, 1 - 1, 1 ) } );
234234

235235
testHelper.focusGrid( that.element )
236236
.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP, altKey: true } );
237237
setTimeout( function() {
238238
$( document.activeElement ).simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } );
239239
assert.dateEqual(
240240
that.element.calendar( "valueAsDate" ),
241-
new Date( 2013, 1 - 1, 1 ),
241+
testHelper.createDate( 2013, 1 - 1, 1 ),
242242
"Keystroke Page Up + ALT moves date to previous year"
243243
);
244244
that.element.calendar( "destroy" );
@@ -247,14 +247,14 @@ QUnit.test( "keyboard handling", function( assert ) {
247247
}
248248

249249
function step7() {
250-
that.element.calendar( { value: new Date( 2014, 1 - 1, 1 ) } );
250+
that.element.calendar( { value: testHelper.createDate( 2014, 1 - 1, 1 ) } );
251251

252252
testHelper.focusGrid( that.element ).simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN } );
253253
setTimeout( function() {
254254
$( document.activeElement ).simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } );
255255
assert.dateEqual(
256256
that.element.calendar( "valueAsDate" ),
257-
new Date( 2014, 2 - 1, 1 ),
257+
testHelper.createDate( 2014, 2 - 1, 1 ),
258258
"Keystroke Page Down moves date to next month"
259259
);
260260
that.element.calendar( "destroy" );
@@ -263,15 +263,15 @@ QUnit.test( "keyboard handling", function( assert ) {
263263
}
264264

265265
function step8() {
266-
that.element.calendar( { value: new Date( 2014, 1 - 1, 1 ) } );
266+
that.element.calendar( { value: testHelper.createDate( 2014, 1 - 1, 1 ) } );
267267

268268
testHelper.focusGrid( that.element )
269269
.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN, altKey: true } );
270270
setTimeout( function() {
271271
$( document.activeElement ).simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } );
272272
assert.dateEqual(
273273
that.element.calendar( "valueAsDate" ),
274-
new Date( 2015, 1 - 1, 1 ),
274+
testHelper.createDate( 2015, 1 - 1, 1 ),
275275
"Keystroke Page Down + ALT moves date to next year"
276276
);
277277
that.element.calendar( "destroy" );
@@ -281,14 +281,14 @@ QUnit.test( "keyboard handling", function( assert ) {
281281

282282
// Check for moving to short months
283283
function step9() {
284-
that.element.calendar( { value: new Date( 2014, 3 - 1, 31 ) } );
284+
that.element.calendar( { value: testHelper.createDate( 2014, 3 - 1, 31 ) } );
285285

286286
testHelper.focusGrid( that.element ).simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP } );
287287
setTimeout( function() {
288288
$( document.activeElement ).simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } );
289289
assert.dateEqual(
290290
that.element.calendar( "valueAsDate" ),
291-
new Date( 2014, 2 - 1, 28 ),
291+
testHelper.createDate( 2014, 2 - 1, 28 ),
292292
"Keystroke Page Up and short months"
293293
);
294294
that.element.calendar( "destroy" );
@@ -297,14 +297,14 @@ QUnit.test( "keyboard handling", function( assert ) {
297297
}
298298

299299
function step10() {
300-
that.element.calendar( { value: new Date( 2016, 1 - 1, 30 ) } );
300+
that.element.calendar( { value: testHelper.createDate( 2016, 1 - 1, 30 ) } );
301301

302302
testHelper.focusGrid( that.element ).simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN } );
303303
setTimeout( function() {
304304
$( document.activeElement ).simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } );
305305
assert.dateEqual(
306306
that.element.calendar( "valueAsDate" ),
307-
new Date( 2016, 2 - 1, 29 ),
307+
testHelper.createDate( 2016, 2 - 1, 29 ),
308308
"Keystroke Page Down and leap years"
309309
);
310310
ready();
@@ -319,7 +319,7 @@ QUnit.test( "mouse", function( assert ) {
319319

320320
var ready = assert.async(),
321321
that = this,
322-
date = new Date();
322+
date = testHelper.createDate();
323323

324324
function step1() {
325325
$( "tbody button:contains(10)", that.element ).simulate( "mousedown" );
@@ -330,30 +330,30 @@ QUnit.test( "mouse", function( assert ) {
330330
"Mouse click"
331331
);
332332

333-
that.element.calendar( "option", "value", new Date( 2008, 2 - 1, 4 ) );
333+
that.element.calendar( "option", "value", testHelper.createDate( 2008, 2 - 1, 4 ) );
334334
$( ".ui-calendar-calendar tbody button:contains(12)", that.element ).simulate( "mousedown" );
335335
assert.dateEqual(
336336
that.element.calendar( "valueAsDate" ),
337-
new Date( 2008, 2 - 1, 12 ),
337+
testHelper.createDate( 2008, 2 - 1, 12 ),
338338
"Mouse click - preset"
339339
);
340340

341341
// Previous/next
342-
that.element.calendar( "option", "value", new Date( 2008, 2 - 1, 4 ) );
342+
that.element.calendar( "option", "value", testHelper.createDate( 2008, 2 - 1, 4 ) );
343343
$( ".ui-calendar-prev", that.element ).simulate( "click" );
344344
$( ".ui-calendar-calendar tbody button:contains(16)", that.element ).simulate( "mousedown" );
345345
assert.dateEqual(
346346
that.element.calendar( "valueAsDate" ),
347-
new Date( 2008, 1 - 1, 16 ),
347+
testHelper.createDate( 2008, 1 - 1, 16 ),
348348
"Mouse click - previous"
349349
);
350350

351-
that.element.calendar( "option", "value", new Date( 2008, 2 - 1, 4 ) );
351+
that.element.calendar( "option", "value", testHelper.createDate( 2008, 2 - 1, 4 ) );
352352
$( ".ui-calendar-next", that.element ).simulate( "click" );
353353
$( ".ui-calendar-calendar tbody button:contains(18)", that.element ).simulate( "mousedown" );
354354
assert.dateEqual(
355355
that.element.calendar( "valueAsDate" ),
356-
new Date( 2008, 3 - 1, 18 ),
356+
testHelper.createDate( 2008, 3 - 1, 18 ),
357357
"Mouse click - next"
358358
);
359359

@@ -364,16 +364,16 @@ QUnit.test( "mouse", function( assert ) {
364364
function step2() {
365365
that.element.calendar( "destroy" );
366366
that.element.calendar( {
367-
value: new Date( 2008, 3 - 1, 4 ),
368-
min: new Date( 2008, 2 - 1, 2 ),
369-
max: new Date( 2008, 2 - 1, 26 )
367+
value: testHelper.createDate( 2008, 3 - 1, 4 ),
368+
min: testHelper.createDate( 2008, 2 - 1, 2 ),
369+
max: testHelper.createDate( 2008, 2 - 1, 26 )
370370
} );
371371

372372
$( ".ui-calendar-prev", that.element ).simulate( "click" );
373373
$( "tbody button:contains(16)", that.element ).simulate( "mousedown" );
374374
assert.dateEqual(
375375
that.element.calendar( "valueAsDate" ),
376-
new Date( 2008, 2 - 1, 16 ),
376+
testHelper.createDate( 2008, 2 - 1, 16 ),
377377
"Mouse click - previous + min/max"
378378
);
379379
step3();
@@ -382,16 +382,16 @@ QUnit.test( "mouse", function( assert ) {
382382
function step3() {
383383
that.element.calendar( "destroy" );
384384
that.element.calendar( {
385-
value: new Date( 2008, 1 - 1, 4 ),
386-
min: new Date( 2008, 2 - 1, 2 ),
387-
max: new Date( 2008, 2 - 1, 26 )
385+
value: testHelper.createDate( 2008, 1 - 1, 4 ),
386+
min: testHelper.createDate( 2008, 2 - 1, 2 ),
387+
max: testHelper.createDate( 2008, 2 - 1, 26 )
388388
} );
389389

390390
$( ".ui-calendar-next", that.element ).simulate( "click" );
391391
$( "tbody button:contains(18)", that.element ).simulate( "mousedown" );
392392
assert.dateEqual(
393393
that.element.calendar( "valueAsDate" ),
394-
new Date( 2008, 2 - 1, 18 ),
394+
testHelper.createDate( 2008, 2 - 1, 18 ),
395395
"Mouse click - next + min/max"
396396
);
397397
ready();

tests/unit/calendar/helper.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,17 @@ define( [
44
], function( $, helper ) {
55

66
return $.extend( helper, {
7+
createDate: function( year, month, day ) {
8+
if ( arguments.length === 1 ) {
9+
return new Date( year );
10+
}
11+
12+
if ( arguments.length === 3 ) {
13+
return new Date( year, month, day );
14+
}
15+
16+
return new Date();
17+
},
718
focusGrid: function( element ) {
819
element.find( ":tabbable" ).last().simulate( "focus" );
920
$( document.activeElement ).simulate( "keydown", { keyCode: $.ui.keyCode.TAB } );

tests/unit/calendar/methods.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
define( [
22
"qunit",
33
"jquery",
4+
"./helper",
45
"ui/widgets/calendar"
5-
], function( QUnit, $ ) {
6+
], function( QUnit, $, testHelper ) {
67

78
QUnit.module( "calendar: methods", {
89
beforeEach: function() {
@@ -64,15 +65,15 @@ QUnit.test( "valueAsDate", function( assert ) {
6465
assert.expect( 11 );
6566

6667
var minDate, maxDate, dateAndTimeToSet, dateAndTimeClone,
67-
date1 = new Date( 2008, 6 - 1, 4 ),
68+
date1 = testHelper.createDate( 2008, 6 - 1, 4 ),
6869
date2;
6970

70-
this.element.calendar( "valueAsDate", new Date( 2014, 0, 1 ) );
71+
this.element.calendar( "valueAsDate", testHelper.createDate( 2014, 0, 1 ) );
7172
assert.ok( this.element.find( "button[data-ui-calendar-timestamp]:first" )
7273
.hasClass( "ui-state-active" ),
7374
"First day marked as selected"
7475
);
75-
assert.dateEqual( this.element.calendar( "valueAsDate" ), new Date( 2014, 0, 1 ), "Getter" );
76+
assert.dateEqual( this.element.calendar( "valueAsDate" ), testHelper.createDate( 2014, 0, 1 ), "Getter" );
7677

7778
this.element.calendar( "destroy" );
7879
this.element.calendar();
@@ -82,10 +83,10 @@ QUnit.test( "valueAsDate", function( assert ) {
8283
assert.dateEqual( this.element.calendar( "valueAsDate" ), date1, "Set date - 2008-06-04" );
8384

8485
// With minimum / maximum
85-
date1 = new Date( 2008, 1 - 1, 4 );
86-
date2 = new Date( 2008, 6 - 1, 4 );
87-
minDate = new Date( 2008, 2 - 1, 29 );
88-
maxDate = new Date( 2008, 3 - 1, 28 );
86+
date1 = testHelper.createDate( 2008, 1 - 1, 4 );
87+
date2 = testHelper.createDate( 2008, 6 - 1, 4 );
88+
minDate = testHelper.createDate( 2008, 2 - 1, 29 );
89+
maxDate = testHelper.createDate( 2008, 3 - 1, 28 );
8990

9091
this.element
9192
.calendar( "option", { min: minDate } )
@@ -133,8 +134,8 @@ QUnit.test( "valueAsDate", function( assert ) {
133134
null, "Set date min/max - value > max"
134135
);
135136

136-
dateAndTimeToSet = new Date( 2008, 3 - 1, 28, 1, 11, 0 );
137-
dateAndTimeClone = new Date( 2008, 3 - 1, 28, 1, 11, 0 );
137+
dateAndTimeToSet = testHelper.createDate( 2008, 3 - 1, 28, 1, 11, 0 );
138+
dateAndTimeClone = testHelper.createDate( 2008, 3 - 1, 28, 1, 11, 0 );
138139
this.element.calendar( "valueAsDate", dateAndTimeToSet );
139140
assert.equal(
140141
dateAndTimeToSet.getTime(),

0 commit comments

Comments
 (0)