aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/datepicker/datepicker_tickets.js
blob: 57b25c3fff299b2d2a7d1e3dc78e642caf3e877a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/*
 * datepicker_tickets.js
 */
(function($) {

module("datepicker: tickets");

// http://forum.jquery.com/topic/several-breaking-changes-in-jquery-ui-1-8rc1
test('beforeShowDay-getDate', function() {
	expect( 3 );
	var inp = init('#inp', {beforeShowDay: function(date) { 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(), 'January 2010', 'Initial month');
	$('a.ui-datepicker-next', dp).click();
	$('a.ui-datepicker-next', dp).click();
	// contains non-breaking space
	equal($('div.ui-datepicker-title').text(), 'March 2010', '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(), 'November 2009', 'After prev clicks');
	inp.datepicker('hide');
});

test('Ticket 7602: Stop datepicker from appearing with beforeShow event handler', function(){
	expect( 3 );
	var inp = init('#inp',{
			beforeShow: function(){
				return false;
			}
		}),
		dp = $('#ui-datepicker-div');
	inp.datepicker('show');
	equal(dp.css('display'), 'none',"beforeShow returns false");
	inp.datepicker('destroy');

	inp = init('#inp',{
		beforeShow: function(){
		}
	});
	dp = $('#ui-datepicker-div');
	inp.datepicker('show');
	equal(dp.css('display'), 'block',"beforeShow returns nothing");
	inp.datepicker('hide');
	inp.datepicker('destroy');

	inp = init('#inp',{
		beforeShow: function(){
			return true;
		}
	});
	dp = $('#ui-datepicker-div');
	inp.datepicker('show');
	equal(dp.css('display'), 'block',"beforeShow returns true");
	inp.datepicker('hide');
	inp.datepicker('destroy');
});

test('Ticket 6827: formatDate day of year calculation is wrong during day lights savings time', function(){
	expect( 1 );
	var time = $.datepicker.formatDate("oo", new Date("2010/03/30 12:00:00 CDT"));
	equal(time, "089");
});

test('Ticket #7244: date parser does not fail when too many numbers are passed into the date function', function() {
	expect( 4 );
	var date;
	try{
		date = $.datepicker.parseDate('dd/mm/yy', '18/04/19881');
		ok(false, "Did not properly detect an invalid date");
	}catch(e){
		ok("invalid date detected");
	}

	try {
		date = $.datepicker.parseDate('dd/mm/yy', '18/04/1988 @ 2:43 pm');
		equal(date.getDate(), 18);
		equal(date.getMonth(), 3);
		equal(date.getFullYear(), 1988);
	} catch(e) {
		ok(false, "Did not properly parse date with extra text separated by whitespace");
	}
});

})(jQuery);