Skip to content

Commit 00debdf

Browse files
committed
Datepicker: Coding standards and new APIs for keyboard handling tests.
These tests are commented out for now as they need a means of getting a Date object from the widget and currently there isn't one.
1 parent c8a0eed commit 00debdf

File tree

1 file changed

+152
-121
lines changed

1 file changed

+152
-121
lines changed

tests/unit/datepicker/datepicker_core.js

Lines changed: 152 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -327,139 +327,170 @@ asyncTest( "customStructure", function() {
327327
setTimeout( step1 );
328328
});
329329

330-
test("keystrokes", function() {
331-
expect( 26 );
332-
var inp = TestHelpers.datepicker.init("#inp"),
330+
test( "Keyboard handling", function() {
331+
// TODO: These tests all rely on having a method to retrieve a Date object. There
332+
// is not only implemented yet so bail.
333+
expect( 0 );
334+
return;
335+
336+
expect( 24 );
337+
var inp = TestHelpers.datepicker.init( "#inp" ),
333338
date = new Date();
334-
inp.val("").datepicker("show").
335-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
336-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke enter");
337-
inp.val("02/04/2008").datepicker("show").
338-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
339-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 2 - 1, 4),
340-
"Keystroke enter - preset");
341-
inp.val("02/04/2008").datepicker("show").
342-
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.HOME}).
343-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
344-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke ctrl+home");
345-
inp.val("02/04/2008").datepicker("show").
346-
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.END});
347-
ok(inp.datepicker("getDate") == null, "Keystroke ctrl+end");
348-
inp.val("").datepicker("show").
349-
simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE});
339+
340+
inp.val( "" ).datepicker( "open" )
341+
.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER });
342+
TestHelpers.datepicker.equalsDate( inp.val(), date, "Keystroke enter" );
343+
344+
inp.val( "02/04/2008" ).datepicker( "open" )
345+
.simulate("keydown", { keyCode: $.ui.keyCode.ENTER });
346+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), new Date( 2008, 2 - 1, 4 ),
347+
"Keystroke enter - preset" );
348+
349+
inp.val( "02/04/2008" ).datepicker( "open" )
350+
.simulate( "keydown", { ctrlKey: true, keyCode: $.ui.keyCode.HOME })
351+
.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER });
352+
TestHelpers.datepicker.equalsDate(inp.datepicker( "getDate" ), date, "Keystroke ctrl+home" );
353+
354+
inp.val( "02/04/2008" ).datepicker( "open" )
355+
.simulate( "keydown", { ctrlKey: true, keyCode: $.ui.keyCode.END });
356+
ok( inp.datepicker( "getDate" ) == null, "Keystroke ctrl+end" );
357+
358+
inp.val( "" ).datepicker( "open" )
359+
.simulate( "keydown", { keyCode: $.ui.keyCode.ESCAPE });
350360
ok(inp.datepicker("getDate") == null, "Keystroke esc");
351-
inp.val("02/04/2008").datepicker("show").
352-
simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE});
353-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 2 - 1, 4),
354-
"Keystroke esc - preset");
355-
inp.val("02/04/2008").datepicker("show").
356-
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP}).
357-
simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE});
358-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 2 - 1, 4),
359-
"Keystroke esc - abandoned");
361+
362+
inp.val( "02/04/2008" ).datepicker( "open" )
363+
.simulate( "keydown", { keyCode: $.ui.keyCode.ESCAPE });
364+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), new Date( 2008, 2 - 1, 4 ),
365+
"Keystroke esc - preset" );
366+
367+
inp.val( "02/04/2008" ).datepicker( "open" )
368+
.simulate( "keydown", { ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP })
369+
.simulate( "keydown", { keyCode: $.ui.keyCode.ESCAPE });
370+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), new Date(2008, 2 - 1, 4),
371+
"Keystroke esc - abandoned" );
372+
360373
// Moving by day or week
361-
inp.val("").datepicker("show").
362-
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.LEFT}).
363-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
364-
date.setDate(date.getDate() - 1);
365-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke ctrl+left");
366-
inp.val("").datepicker("show").
367-
simulate("keydown", {keyCode: $.ui.keyCode.LEFT}).
368-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
369-
date.setDate(date.getDate() + 1);
370-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke left");
371-
inp.val("").datepicker("show").
372-
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.RIGHT}).
373-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
374+
inp.val( "" ).datepicker( "open" )
375+
.simulate( "keydown", { ctrlKey: true, keyCode: $.ui.keyCode.LEFT })
376+
.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER });
377+
date.setDate( date.getDate() - 1 );
378+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), date, "Keystroke ctrl+left" );
379+
380+
inp.val( "" ).datepicker( "open" )
381+
.simulate( "keydown", {keyCode: $.ui.keyCode.LEFT }).
382+
simulate( "keydown", {keyCode: $.ui.keyCode.ENTER });
383+
date.setDate( date.getDate() + 1 );
384+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), date, "Keystroke left") ;
385+
386+
inp.val( "" ).datepicker( "open" )
387+
.simulate( "keydown", {ctrlKey: true, keyCode: $.ui.keyCode.RIGHT}).
388+
simulate( "keydown", {keyCode: $.ui.keyCode.ENTER});
374389
date.setDate(date.getDate() + 1);
375-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke ctrl+right");
376-
inp.val("").datepicker("show").
377-
simulate("keydown", {keyCode: $.ui.keyCode.RIGHT}).
378-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
390+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), date, "Keystroke ctrl+right" );
391+
392+
inp.val( "" ).datepicker( "open" )
393+
.simulate( "keydown", {keyCode: $.ui.keyCode.RIGHT}).
394+
simulate( "keydown", {keyCode: $.ui.keyCode.ENTER});
379395
date.setDate(date.getDate() - 1);
380-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke right");
381-
inp.val("").datepicker("show").
382-
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.UP}).
383-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
396+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), date, "Keystroke right" );
397+
398+
inp.val( "" ).datepicker( "open" )
399+
.simulate( "keydown", {ctrlKey: true, keyCode: $.ui.keyCode.UP}).
400+
simulate( "keydown", {keyCode: $.ui.keyCode.ENTER});
384401
date.setDate(date.getDate() - 7);
385-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke ctrl+up");
386-
inp.val("").datepicker("show").
387-
simulate("keydown", {keyCode: $.ui.keyCode.UP}).
388-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
402+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), date, "Keystroke ctrl+up" );
403+
404+
inp.val( "" ).datepicker( "open" )
405+
.simulate( "keydown", {keyCode: $.ui.keyCode.UP}).
406+
simulate( "keydown", {keyCode: $.ui.keyCode.ENTER});
389407
date.setDate(date.getDate() + 7);
390-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke up");
391-
inp.val("").datepicker("show").
392-
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.DOWN}).
393-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
408+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), date, "Keystroke up" );
409+
410+
inp.val( "" ).datepicker( "open" )
411+
.simulate( "keydown", {ctrlKey: true, keyCode: $.ui.keyCode.DOWN}).
412+
simulate( "keydown", {keyCode: $.ui.keyCode.ENTER});
394413
date.setDate(date.getDate() + 7);
395-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke ctrl+down");
396-
inp.val("").datepicker("show").
397-
simulate("keydown", {keyCode: $.ui.keyCode.DOWN}).
398-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
399-
date.setDate(date.getDate() - 7);
400-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke down");
414+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), date, "Keystroke ctrl+down" );
415+
416+
inp.val( "" ).datepicker( "open" )
417+
.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN })
418+
.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER });
419+
date.setDate( date.getDate() - 7 );
420+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), date, "Keystroke down" );
421+
401422
// Moving by month or year
402-
inp.val("02/04/2008").datepicker("show").
403-
simulate("keydown", {keyCode: $.ui.keyCode.PAGE_UP}).
404-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
405-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 1 - 1, 4),
406-
"Keystroke pgup");
407-
inp.val("02/04/2008").datepicker("show").
408-
simulate("keydown", {keyCode: $.ui.keyCode.PAGE_DOWN}).
409-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
410-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 3 - 1, 4),
411-
"Keystroke pgdn");
412-
inp.val("02/04/2008").datepicker("show").
413-
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP}).
414-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
415-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2007, 2 - 1, 4),
416-
"Keystroke ctrl+pgup");
417-
inp.val("02/04/2008").datepicker("show").
418-
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN}).
419-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
420-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2009, 2 - 1, 4),
421-
"Keystroke ctrl+pgdn");
423+
inp.val( "02/04/2008" ).datepicker( "open" )
424+
.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP })
425+
.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER });
426+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), new Date( 2008, 1 - 1, 4 ),
427+
"Keystroke pgup" );
428+
429+
inp.val( "02/04/2008" ).datepicker( "open" )
430+
.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN })
431+
.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER });
432+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), new Date( 2008, 3 - 1, 4 ),
433+
"Keystroke pgdn" );
434+
435+
inp.val( "02/04/2008" ).datepicker( "open" )
436+
.simulate( "keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP })
437+
.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER });
438+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), new Date( 2007, 2 - 1, 4 ),
439+
"Keystroke ctrl+pgup" );
440+
441+
inp.val( "02/04/2008" ).datepicker( "open" )
442+
.simulate( "keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN })
443+
.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER});
444+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), new Date( 2009, 2 - 1, 4 ),
445+
"Keystroke ctrl+pgdn" );
446+
422447
// Check for moving to short months
423-
inp.val("03/31/2008").datepicker("show").
424-
simulate("keydown", {keyCode: $.ui.keyCode.PAGE_UP}).
425-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
426-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 2 - 1, 29),
427-
"Keystroke pgup - Feb");
428-
inp.val("01/30/2008").datepicker("show").
429-
simulate("keydown", {keyCode: $.ui.keyCode.PAGE_DOWN}).
430-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
431-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 2 - 1, 29),
432-
"Keystroke pgdn - Feb");
433-
inp.val("02/29/2008").datepicker("show").
434-
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP}).
435-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
436-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2007, 2 - 1, 28),
437-
"Keystroke ctrl+pgup - Feb");
438-
inp.val("02/29/2008").datepicker("show").
439-
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN}).
440-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
441-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2009, 2 - 1, 28),
442-
"Keystroke ctrl+pgdn - Feb");
448+
inp.val( "03/31/2008" ).datepicker( "open" )
449+
.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_UP })
450+
.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER });
451+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), new Date( 2008, 2 - 1, 29 ),
452+
"Keystroke pgup - Feb" );
453+
454+
inp.val( "01/30/2008" ).datepicker( "open" )
455+
.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN })
456+
.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER });
457+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), new Date( 2008, 2 - 1, 29 ),
458+
"Keystroke pgdn - Feb" );
459+
460+
inp.val( "02/29/2008" ).datepicker( "open" )
461+
.simulate( "keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP })
462+
.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER });
463+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), new Date( 2007, 2 - 1, 28 ),
464+
"Keystroke ctrl+pgup - Feb" );
465+
466+
inp.val( "02/29/2008" ).datepicker( "open" )
467+
.simulate( "keydown", { ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN })
468+
.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER });
469+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), new Date( 2009, 2 - 1, 28 ),
470+
"Keystroke ctrl+pgdn - Feb" );
471+
443472
// Goto current
444-
inp.datepicker("option", {gotoCurrent: true}).
445-
datepicker("hide").val("02/04/2008").datepicker("show").
446-
simulate("keydown", {keyCode: $.ui.keyCode.PAGE_DOWN}).
447-
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.HOME}).
448-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
449-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 2 - 1, 4),
450-
"Keystroke ctrl+home");
473+
inp.datepicker( "option", { gotoCurrent: true })
474+
.datepicker( "close" ).val( "02/04/2008" ).datepicker( "open" )
475+
.late( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN })
476+
.simulate( "keydown", { ctrlKey: true, keyCode: $.ui.keyCode.HOME })
477+
.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER });
478+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), new Date( 2008, 2 - 1, 4 ),
479+
"Keystroke ctrl+home" );
480+
451481
// Change steps
452-
inp.datepicker("option", {stepMonths: 2, gotoCurrent: false}).
453-
datepicker("hide").val("02/04/2008").datepicker("show").
454-
simulate("keydown", {keyCode: $.ui.keyCode.PAGE_UP}).
455-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
456-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2007, 12 - 1, 4),
457-
"Keystroke pgup step 2");
458-
inp.val("02/04/2008").datepicker("show").
459-
simulate("keydown", {keyCode: $.ui.keyCode.PAGE_DOWN}).
460-
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
461-
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 4 - 1, 4),
462-
"Keystroke pgdn step 2");
482+
inp.datepicker( "option", { stepMonths: 2, gotoCurrent: false })
483+
.datepicker( "close" ).val( "02/04/2008" ).datepicker( "open" )
484+
.late( "keydown", { keyCode: $.ui.keyCode.PAGE_UP })
485+
.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER });
486+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), new Date( 2007, 12 - 1, 4 ),
487+
"Keystroke pgup step 2" );
488+
489+
inp.val( "02/04/2008" ).datepicker( "open" )
490+
.simulate( "keydown", { keyCode: $.ui.keyCode.PAGE_DOWN })
491+
.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER });
492+
TestHelpers.datepicker.equalsDate( inp.datepicker( "getDate" ), new Date( 2008, 4 - 1, 4 ),
493+
"Keystroke pgdn step 2" );
463494
});
464495

465496
test("mouse", function() {

0 commit comments

Comments
 (0)