/[projects]/misc/horsensspejder-web/jquery/jquery-ui-1.10.3/tests/unit/datepicker/datepicker_events.js
ViewVC logotype

Contents of /misc/horsensspejder-web/jquery/jquery-ui-1.10.3/tests/unit/datepicker/datepicker_events.js

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2125 - (show annotations) (download) (as text)
Wed Mar 12 19:30:05 2014 UTC (10 years, 3 months ago) by torben
File MIME type: application/javascript
File size: 6374 byte(s)
initial import
1 /*
2 * datepicker_events.js
3 */
4 (function($) {
5
6 module("datepicker: events");
7
8 var selectedThis = null,
9 selectedDate = null,
10 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 expect( 26 );
26 var dateStr, newMonthYear, inp2,
27 inp = TestHelpers.datepicker.init("#inp", {onSelect: callback}),
28 date = new Date();
29 // onSelect
30 inp.val("").datepicker("show").
31 simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
32 equal(selectedThis, inp[0], "Callback selected this");
33 equal(selectedInst, $.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Callback selected inst");
34 equal(selectedDate, $.datepicker.formatDate("mm/dd/yy", date),
35 "Callback selected date");
36 inp.val("").datepicker("show").
37 simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.DOWN}).
38 simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
39 date.setDate(date.getDate() + 7);
40 equal(selectedDate, $.datepicker.formatDate("mm/dd/yy", date),
41 "Callback selected date - ctrl+down");
42 inp.val("").datepicker("show").
43 simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE});
44 equal(selectedDate, $.datepicker.formatDate("mm/dd/yy", date),
45 "Callback selected date - esc");
46 dateStr = "02/04/2008";
47 inp.val(dateStr).datepicker("show").
48 simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
49 equal(dateStr, selectedDate,
50 "onSelect is called after enter keydown");
51 // onChangeMonthYear
52 inp.datepicker("option", {onChangeMonthYear: callback2, onSelect: null}).
53 val("").datepicker("show");
54 newMonthYear = function(date) {
55 return date.getFullYear() + "/" + (date.getMonth() + 1);
56 };
57 date = new Date();
58 date.setDate(1);
59 inp.simulate("keydown", {keyCode: $.ui.keyCode.PAGE_UP});
60 date.setMonth(date.getMonth() - 1);
61 equal(selectedThis, inp[0], "Callback change month/year this");
62 equal(selectedInst, $.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Callback change month/year inst");
63 equal(selectedDate, newMonthYear(date),
64 "Callback change month/year date - pgup");
65 inp.simulate("keydown", {keyCode: $.ui.keyCode.PAGE_DOWN});
66 date.setMonth(date.getMonth() + 1);
67 equal(selectedDate, newMonthYear(date),
68 "Callback change month/year date - pgdn");
69 inp.simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP});
70 date.setFullYear(date.getFullYear() - 1);
71 equal(selectedDate, newMonthYear(date),
72 "Callback change month/year date - ctrl+pgup");
73 inp.simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.HOME});
74 date.setFullYear(date.getFullYear() + 1);
75 equal(selectedDate, newMonthYear(date),
76 "Callback change month/year date - ctrl+home");
77 inp.simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN});
78 date.setFullYear(date.getFullYear() + 1);
79 equal(selectedDate, newMonthYear(date),
80 "Callback change month/year date - ctrl+pgdn");
81 inp.datepicker("setDate", new Date(2007, 1 - 1, 26));
82 equal(selectedDate, "2007/1", "Callback change month/year date - setDate");
83 selectedDate = null;
84 inp.datepicker("setDate", new Date(2007, 1 - 1, 12));
85 ok(selectedDate == null, "Callback change month/year date - setDate no change");
86 // onChangeMonthYear step by 2
87 inp.datepicker("option", {stepMonths: 2}).
88 datepicker("hide").val("").datepicker("show").
89 simulate("keydown", {keyCode: $.ui.keyCode.PAGE_UP});
90 date.setMonth(date.getMonth() - 14);
91 equal(selectedDate, newMonthYear(date),
92 "Callback change month/year by 2 date - pgup");
93 inp.simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP});
94 date.setMonth(date.getMonth() - 12);
95 equal(selectedDate, newMonthYear(date),
96 "Callback change month/year by 2 date - ctrl+pgup");
97 inp.simulate("keydown", {keyCode: $.ui.keyCode.PAGE_DOWN});
98 date.setMonth(date.getMonth() + 2);
99 equal(selectedDate, newMonthYear(date),
100 "Callback change month/year by 2 date - pgdn");
101 inp.simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN});
102 date.setMonth(date.getMonth() + 12);
103 equal(selectedDate, newMonthYear(date),
104 "Callback change month/year by 2 date - ctrl+pgdn");
105 // onClose
106 inp.datepicker("option", {onClose: callback, onChangeMonthYear: null, stepMonths: 1}).
107 val("").datepicker("show").
108 simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE});
109 equal(selectedThis, inp[0], "Callback close this");
110 equal(selectedInst, $.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Callback close inst");
111 equal(selectedDate, "", "Callback close date - esc");
112 inp.val("").datepicker("show").
113 simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
114 equal(selectedDate, $.datepicker.formatDate("mm/dd/yy", new Date()),
115 "Callback close date - enter");
116 inp.val("02/04/2008").datepicker("show").
117 simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE});
118 equal(selectedDate, "02/04/2008", "Callback close date - preset");
119 inp.val("02/04/2008").datepicker("show").
120 simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.END});
121 equal(selectedDate, "", "Callback close date - ctrl+end");
122
123 inp2 = TestHelpers.datepicker.init("#inp2");
124 inp2.datepicker().datepicker("option", {onClose: callback}).datepicker("show");
125 inp.datepicker("show");
126 equal(selectedThis, inp2[0], "Callback close this");
127 });
128
129 test("beforeShowDay-getDate", function() {
130 expect( 3 );
131 var inp = TestHelpers.datepicker.init("#inp", {beforeShowDay: function() { inp.datepicker("getDate"); return [true, ""]; }}),
132 dp = $("#ui-datepicker-div");
133 inp.val("01/01/2010").datepicker("show");
134 // contains non-breaking space
135 equal($("div.ui-datepicker-title").text(),
136 // support: IE <9, jQuery <1.8
137 // In IE7/8 with jQuery <1.8, encoded spaces behave in strange ways
138 $( "<span>January&#xa0;2010</span>" ).text(), "Initial month");
139 $("a.ui-datepicker-next", dp).click();
140 $("a.ui-datepicker-next", dp).click();
141 // contains non-breaking space
142 equal($("div.ui-datepicker-title").text(),
143 $( "<span>March&#xa0;2010</span>" ).text(), "After next clicks");
144 inp.datepicker("hide").datepicker("show");
145 $("a.ui-datepicker-prev", dp).click();
146 $("a.ui-datepicker-prev", dp).click();
147 // contains non-breaking space
148 equal($("div.ui-datepicker-title").text(),
149 $( "<span>November&#xa0;2009</span>" ).text(), "After prev clicks");
150 inp.datepicker("hide");
151 });
152
153 })(jQuery);

  ViewVC Help
Powered by ViewVC 1.1.20