source: main/trunk/greenstone3/web/interfaces/oran/js/jquery-ui-1.8rc1/tests/unit/datepicker/datepicker_events.js@ 24245

Last change on this file since 24245 was 24245, checked in by sjb48, 13 years ago

Oran code for supporting format changes to document.

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