aboutsummaryrefslogtreecommitdiffstats
path: root/97suifangqa/staticfiles/plugins/jquery-ui/tests/unit/datepicker/datepicker_events.js
diff options
context:
space:
mode:
authorAlvin Li <liweitianux@gmail.com>2013-10-09 15:52:53 +0800
committerAlvin Li <liweitianux@gmail.com>2013-10-09 15:52:53 +0800
commit02afd8a32edb13ea7fc2266ac80092ea15c0930c (patch)
treec7a2a3f50378c017b425da47e04a71c6beaae56c /97suifangqa/staticfiles/plugins/jquery-ui/tests/unit/datepicker/datepicker_events.js
parentfafce2cfc72f4e1cd14ff6cb693c8ec7854159c5 (diff)
download97dev-02afd8a32edb13ea7fc2266ac80092ea15c0930c.tar.bz2
* treat 'apps/utils' as regular django app; which used to store
general tools for used in other apps * moved 'templatetags' from 'apps/indicator' to 'apps/utils' * '.gitignore' to ignore 'fixtures_bak' * moved js plugins from 'apps/indicator/static/plugins' to 'staticfiles/plugins' apps/recommend: * updated 'recommend.models'; o commented 'recommend.models.ResearchCombination' (not used) * implemented views 'add_edit_blog_info' and 'ajax_add_edit_configs'; * added pages 'templates/recommend/add_edit_blog_info.html', 'add_edit_blog_info_error.html'; o related css and javascripts files * added 'tools.py'; * added 'utils/tools.py' for placing generic functions; * deleted 'initial_data.json' (mv 'fixtures' to 'fixtures_bak'); * small fixes to 'indicator.models', 'sciblog.models' and 'sfaccount.views' * fixed automatically show 'proper_nouns' annotation in blog: recovered the line 'import signals' in 'sciblog.models' * added 'is_ok()' method for 'recommend.models.ResearchConfig';
Diffstat (limited to '97suifangqa/staticfiles/plugins/jquery-ui/tests/unit/datepicker/datepicker_events.js')
-rw-r--r--97suifangqa/staticfiles/plugins/jquery-ui/tests/unit/datepicker/datepicker_events.js153
1 files changed, 153 insertions, 0 deletions
diff --git a/97suifangqa/staticfiles/plugins/jquery-ui/tests/unit/datepicker/datepicker_events.js b/97suifangqa/staticfiles/plugins/jquery-ui/tests/unit/datepicker/datepicker_events.js
new file mode 100644
index 0000000..dfc42cc
--- /dev/null
+++ b/97suifangqa/staticfiles/plugins/jquery-ui/tests/unit/datepicker/datepicker_events.js
@@ -0,0 +1,153 @@
+/*
+ * datepicker_events.js
+ */
+(function($) {
+
+module("datepicker: events");
+
+var selectedThis = null,
+selectedDate = null,
+selectedInst = null;
+
+function callback(date, inst) {
+ selectedThis = this;
+ selectedDate = date;
+ selectedInst = inst;
+}
+
+function callback2(year, month, inst) {
+ selectedThis = this;
+ selectedDate = year + "/" + month;
+ selectedInst = inst;
+}
+
+test("events", function() {
+ expect( 26 );
+ var dateStr, newMonthYear, inp2,
+ inp = TestHelpers.datepicker.init("#inp", {onSelect: callback}),
+ date = new Date();
+ // onSelect
+ inp.val("").datepicker("show").
+ simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
+ equal(selectedThis, inp[0], "Callback selected this");
+ equal(selectedInst, $.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Callback selected inst");
+ equal(selectedDate, $.datepicker.formatDate("mm/dd/yy", date),
+ "Callback selected date");
+ inp.val("").datepicker("show").
+ simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.DOWN}).
+ simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
+ date.setDate(date.getDate() + 7);
+ equal(selectedDate, $.datepicker.formatDate("mm/dd/yy", date),
+ "Callback selected date - ctrl+down");
+ inp.val("").datepicker("show").
+ simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE});
+ equal(selectedDate, $.datepicker.formatDate("mm/dd/yy", date),
+ "Callback selected date - esc");
+ dateStr = "02/04/2008";
+ inp.val(dateStr).datepicker("show").
+ simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
+ equal(dateStr, selectedDate,
+ "onSelect is called after enter keydown");
+ // onChangeMonthYear
+ inp.datepicker("option", {onChangeMonthYear: callback2, onSelect: null}).
+ val("").datepicker("show");
+ newMonthYear = function(date) {
+ return date.getFullYear() + "/" + (date.getMonth() + 1);
+ };
+ date = new Date();
+ date.setDate(1);
+ inp.simulate("keydown", {keyCode: $.ui.keyCode.PAGE_UP});
+ date.setMonth(date.getMonth() - 1);
+ equal(selectedThis, inp[0], "Callback change month/year this");
+ equal(selectedInst, $.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Callback change month/year inst");
+ equal(selectedDate, newMonthYear(date),
+ "Callback change month/year date - pgup");
+ inp.simulate("keydown", {keyCode: $.ui.keyCode.PAGE_DOWN});
+ date.setMonth(date.getMonth() + 1);
+ equal(selectedDate, newMonthYear(date),
+ "Callback change month/year date - pgdn");
+ inp.simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP});
+ date.setFullYear(date.getFullYear() - 1);
+ equal(selectedDate, newMonthYear(date),
+ "Callback change month/year date - ctrl+pgup");
+ inp.simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.HOME});
+ date.setFullYear(date.getFullYear() + 1);
+ equal(selectedDate, newMonthYear(date),
+ "Callback change month/year date - ctrl+home");
+ inp.simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN});
+ date.setFullYear(date.getFullYear() + 1);
+ equal(selectedDate, newMonthYear(date),
+ "Callback change month/year date - ctrl+pgdn");
+ inp.datepicker("setDate", new Date(2007, 1 - 1, 26));
+ equal(selectedDate, "2007/1", "Callback change month/year date - setDate");
+ selectedDate = null;
+ inp.datepicker("setDate", new Date(2007, 1 - 1, 12));
+ ok(selectedDate == null, "Callback change month/year date - setDate no change");
+ // onChangeMonthYear step by 2
+ inp.datepicker("option", {stepMonths: 2}).
+ datepicker("hide").val("").datepicker("show").
+ simulate("keydown", {keyCode: $.ui.keyCode.PAGE_UP});
+ date.setMonth(date.getMonth() - 14);
+ equal(selectedDate, newMonthYear(date),
+ "Callback change month/year by 2 date - pgup");
+ inp.simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP});
+ date.setMonth(date.getMonth() - 12);
+ equal(selectedDate, newMonthYear(date),
+ "Callback change month/year by 2 date - ctrl+pgup");
+ inp.simulate("keydown", {keyCode: $.ui.keyCode.PAGE_DOWN});
+ date.setMonth(date.getMonth() + 2);
+ equal(selectedDate, newMonthYear(date),
+ "Callback change month/year by 2 date - pgdn");
+ inp.simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN});
+ date.setMonth(date.getMonth() + 12);
+ equal(selectedDate, newMonthYear(date),
+ "Callback change month/year by 2 date - ctrl+pgdn");
+ // onClose
+ inp.datepicker("option", {onClose: callback, onChangeMonthYear: null, stepMonths: 1}).
+ val("").datepicker("show").
+ simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE});
+ equal(selectedThis, inp[0], "Callback close this");
+ equal(selectedInst, $.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Callback close inst");
+ equal(selectedDate, "", "Callback close date - esc");
+ inp.val("").datepicker("show").
+ simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
+ equal(selectedDate, $.datepicker.formatDate("mm/dd/yy", new Date()),
+ "Callback close date - enter");
+ inp.val("02/04/2008").datepicker("show").
+ simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE});
+ equal(selectedDate, "02/04/2008", "Callback close date - preset");
+ inp.val("02/04/2008").datepicker("show").
+ simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.END});
+ equal(selectedDate, "", "Callback close date - ctrl+end");
+
+ inp2 = TestHelpers.datepicker.init("#inp2");
+ inp2.datepicker().datepicker("option", {onClose: callback}).datepicker("show");
+ inp.datepicker("show");
+ equal(selectedThis, inp2[0], "Callback close this");
+});
+
+test("beforeShowDay-getDate", function() {
+ expect( 3 );
+ var inp = TestHelpers.datepicker.init("#inp", {beforeShowDay: function() { inp.datepicker("getDate"); return [true, ""]; }}),
+ dp = $("#ui-datepicker-div");
+ inp.val("01/01/2010").datepicker("show");
+ // contains non-breaking space
+ equal($("div.ui-datepicker-title").text(),
+ // support: IE <9, jQuery <1.8
+ // In IE7/8 with jQuery <1.8, encoded spaces behave in strange ways
+ $( "<span>January&#xa0;2010</span>" ).text(), "Initial month");
+ $("a.ui-datepicker-next", dp).click();
+ $("a.ui-datepicker-next", dp).click();
+ // contains non-breaking space
+ equal($("div.ui-datepicker-title").text(),
+ $( "<span>March&#xa0;2010</span>" ).text(), "After next clicks");
+ inp.datepicker("hide").datepicker("show");
+ $("a.ui-datepicker-prev", dp).click();
+ $("a.ui-datepicker-prev", dp).click();
+ // contains non-breaking space
+ equal($("div.ui-datepicker-title").text(),
+ $( "<span>November&#xa0;2009</span>" ).text(), "After prev clicks");
+ inp.datepicker("hide");
+});
+
+})(jQuery);