| [ Index ] |
PHP Cross Reference of Drupal 6 (gatewave) |
[Summary view] [Print] [Text view]
1 /* 2 * datepicker_events.js 3 */ 4 (function($) { 5 6 module("datepicker: events"); 7 8 var selectedThis = null; 9 var selectedDate = null; 10 var selectedInst = null; 11 12 function callback(date, inst) { 13 selectedThis = this; 14 selectedDate = date; 15 selectedInst = inst; 16 } 17 18 function callback2(year, month, inst) { 19 selectedThis = this; 20 selectedDate = year + '/' + month; 21 selectedInst = inst; 22 } 23 24 test('events', function() { 25 var inp = init('#inp', {onSelect: callback}); 26 var date = new Date(); 27 // onSelect 28 inp.val('').datepicker('show'). 29 simulate('keydown', {keyCode: $.simulate.VK_ENTER}); 30 equals(selectedThis, inp[0], 'Callback selected this'); 31 equals(selectedInst, $.data(inp[0], PROP_NAME), 'Callback selected inst'); 32 equals(selectedDate, $.datepicker.formatDate('mm/dd/yy', date), 33 'Callback selected date'); 34 inp.val('').datepicker('show'). 35 simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_DOWN}). 36 simulate('keydown', {keyCode: $.simulate.VK_ENTER}); 37 date.setDate(date.getDate() + 7); 38 equals(selectedDate, $.datepicker.formatDate('mm/dd/yy', date), 39 'Callback selected date - ctrl+down'); 40 inp.val('').datepicker('show'). 41 simulate('keydown', {keyCode: $.simulate.VK_ESC}); 42 equals(selectedDate, $.datepicker.formatDate('mm/dd/yy', date), 43 'Callback selected date - esc'); 44 // onChangeMonthYear 45 inp.datepicker('option', {onChangeMonthYear: callback2, onSelect: null}). 46 val('').datepicker('show'); 47 var newMonthYear = function(date) { 48 return date.getFullYear() + '/' + (date.getMonth() + 1); 49 }; 50 date = new Date(); 51 date.setDate(1); 52 inp.simulate('keydown', {keyCode: $.simulate.VK_PGUP}); 53 date.setMonth(date.getMonth() - 1); 54 equals(selectedThis, inp[0], 'Callback change month/year this'); 55 equals(selectedInst, $.data(inp[0], PROP_NAME), 'Callback change month/year inst'); 56 equals(selectedDate, newMonthYear(date), 57 'Callback change month/year date - pgup'); 58 inp.simulate('keydown', {keyCode: $.simulate.VK_PGDN}); 59 date.setMonth(date.getMonth() + 1); 60 equals(selectedDate, newMonthYear(date), 61 'Callback change month/year date - pgdn'); 62 inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}); 63 date.setFullYear(date.getFullYear() - 1); 64 equals(selectedDate, newMonthYear(date), 65 'Callback change month/year date - ctrl+pgup'); 66 inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_HOME}); 67 date.setFullYear(date.getFullYear() + 1); 68 equals(selectedDate, newMonthYear(date), 69 'Callback change month/year date - ctrl+home'); 70 inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN}); 71 date.setFullYear(date.getFullYear() + 1); 72 equals(selectedDate, newMonthYear(date), 73 'Callback change month/year date - ctrl+pgdn'); 74 inp.datepicker('setDate', new Date(2007, 1 - 1, 26)); 75 equals(selectedDate, '2007/1', 'Callback change month/year date - setDate'); 76 selectedDate = null; 77 inp.datepicker('setDate', new Date(2007, 1 - 1, 12)); 78 ok(selectedDate == null, 'Callback change month/year date - setDate no change'); 79 // onChangeMonthYear step by 2 80 inp.datepicker('option', {stepMonths: 2}). 81 datepicker('hide').val('').datepicker('show'). 82 simulate('keydown', {keyCode: $.simulate.VK_PGUP}); 83 date.setMonth(date.getMonth() - 14); 84 equals(selectedDate, newMonthYear(date), 85 'Callback change month/year by 2 date - pgup'); 86 inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGUP}); 87 date.setMonth(date.getMonth() - 12); 88 equals(selectedDate, newMonthYear(date), 89 'Callback change month/year by 2 date - ctrl+pgup'); 90 inp.simulate('keydown', {keyCode: $.simulate.VK_PGDN}); 91 date.setMonth(date.getMonth() + 2); 92 equals(selectedDate, newMonthYear(date), 93 'Callback change month/year by 2 date - pgdn'); 94 inp.simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_PGDN}); 95 date.setMonth(date.getMonth() + 12); 96 equals(selectedDate, newMonthYear(date), 97 'Callback change month/year by 2 date - ctrl+pgdn'); 98 // onClose 99 inp.datepicker('option', {onClose: callback, onChangeMonthYear: null, stepMonths: 1}). 100 val('').datepicker('show'). 101 simulate('keydown', {keyCode: $.simulate.VK_ESC}); 102 equals(selectedThis, inp[0], 'Callback close this'); 103 equals(selectedInst, $.data(inp[0], PROP_NAME), 'Callback close inst'); 104 equals(selectedDate, '', 'Callback close date - esc'); 105 inp.val('').datepicker('show'). 106 simulate('keydown', {keyCode: $.simulate.VK_ENTER}); 107 equals(selectedDate, $.datepicker.formatDate('mm/dd/yy', new Date()), 108 'Callback close date - enter'); 109 inp.val('02/04/2008').datepicker('show'). 110 simulate('keydown', {keyCode: $.simulate.VK_ESC}); 111 equals(selectedDate, '02/04/2008', 'Callback close date - preset'); 112 inp.val('02/04/2008').datepicker('show'). 113 simulate('keydown', {ctrlKey: true, keyCode: $.simulate.VK_END}); 114 equals(selectedDate, '', 'Callback close date - ctrl+end'); 115 }); 116 117 })(jQuery);
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Thu Mar 24 11:18:33 2011 | Cross-referenced by PHPXref 0.7 |