aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit/datepicker/datepicker_methods.js
blob: c16376880aa93c789338f2a5ec72cfccbda72ba8 (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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
define( [
	"jquery",
	"./datepicker_test_helpers",
	"ui/datepicker"
], function( $, datepickerTestHelpers ) {

module("datepicker: methods");

test("destroy", function() {
	expect( 33 );
	var inl,
		inp = datepickerTestHelpers.init("#inp");
	ok(inp.is(".hasDatepicker"), "Default - marker class set");
	ok($.data(inp[0], datepickerTestHelpers.PROP_NAME), "Default - instance present");
	ok(inp.next().is("#alt"), "Default - button absent");
	inp.datepicker("destroy");
	inp = $("#inp");
	ok(!inp.is(".hasDatepicker"), "Default - marker class cleared");
	ok(!$.data(inp[0], datepickerTestHelpers.PROP_NAME), "Default - instance absent");
	ok(inp.next().is("#alt"), "Default - button absent");
	// With button
	inp= datepickerTestHelpers.init("#inp", {showOn: "both"});
	ok(inp.is(".hasDatepicker"), "Button - marker class set");
	ok($.data(inp[0], datepickerTestHelpers.PROP_NAME), "Button - instance present");
	ok(inp.next().text() === "...", "Button - button added");
	inp.datepicker("destroy");
	inp = $("#inp");
	ok(!inp.is(".hasDatepicker"), "Button - marker class cleared");
	ok(!$.data(inp[0], datepickerTestHelpers.PROP_NAME), "Button - instance absent");
	ok(inp.next().is("#alt"), "Button - button removed");
	// With append text
	inp = datepickerTestHelpers.init("#inp", {appendText: "Testing"});
	ok(inp.is(".hasDatepicker"), "Append - marker class set");
	ok($.data(inp[0], datepickerTestHelpers.PROP_NAME), "Append - instance present");
	ok(inp.next().text() === "Testing", "Append - append text added");
	inp.datepicker("destroy");
	inp = $("#inp");
	ok(!inp.is(".hasDatepicker"), "Append - marker class cleared");
	ok(!$.data(inp[0], datepickerTestHelpers.PROP_NAME), "Append - instance absent");
	ok(inp.next().is("#alt"), "Append - append text removed");
	// With both
	inp= datepickerTestHelpers.init("#inp", {showOn: "both", buttonImageOnly: true,
		buttonImage: "images/calendar.gif", appendText: "Testing"});
	ok(inp.is(".hasDatepicker"), "Both - marker class set");
	ok($.data(inp[0], datepickerTestHelpers.PROP_NAME), "Both - instance present");
	ok(inp.next()[0].nodeName.toLowerCase() === "img", "Both - button added");
	ok(inp.next().next().text() === "Testing", "Both - append text added");
	inp.datepicker("destroy");
	inp = $("#inp");
	ok(!inp.is(".hasDatepicker"), "Both - marker class cleared");
	ok(!$.data(inp[0], datepickerTestHelpers.PROP_NAME), "Both - instance absent");
	ok(inp.next().is("#alt"), "Both - button and append text absent");
	// Inline
	inl = datepickerTestHelpers.init("#inl");
	ok(inl.is(".hasDatepicker"), "Inline - marker class set");
	ok(inl.html() !== "", "Inline - datepicker present");
	ok($.data(inl[0], datepickerTestHelpers.PROP_NAME), "Inline - instance present");
	ok(inl.next().length === 0 || inl.next().is("p"), "Inline - button absent");
	inl.datepicker("destroy");
	inl = $("#inl");
	ok(!inl.is(".hasDatepicker"), "Inline - marker class cleared");
	ok(inl.html() === "", "Inline - datepicker absent");
	ok(!$.data(inl[0], datepickerTestHelpers.PROP_NAME), "Inline - instance absent");
	ok(inl.next().length === 0 || inl.next().is("p"), "Inline - button absent");
});

test("enableDisable", function() {
	expect( 33 );
	var inl, dp,
		inp = datepickerTestHelpers.init("#inp");
	ok(!inp.datepicker("isDisabled"), "Enable/disable - initially marked as enabled");
	ok(!inp[0].disabled, "Enable/disable - field initially enabled");
	inp.datepicker("disable");
	ok(inp.datepicker("isDisabled"), "Enable/disable - now marked as disabled");
	ok(inp[0].disabled, "Enable/disable - field now disabled");
	inp.datepicker("enable");
	ok(!inp.datepicker("isDisabled"), "Enable/disable - now marked as enabled");
	ok(!inp[0].disabled, "Enable/disable - field now enabled");
	inp.datepicker("destroy");
	// With a button
	inp = datepickerTestHelpers.init("#inp", {showOn: "button"});
	ok(!inp.datepicker("isDisabled"), "Enable/disable button - initially marked as enabled");
	ok(!inp[0].disabled, "Enable/disable button - field initially enabled");
	ok(!inp.next("button")[0].disabled, "Enable/disable button - button initially enabled");
	inp.datepicker("disable");
	ok(inp.datepicker("isDisabled"), "Enable/disable button - now marked as disabled");
	ok(inp[0].disabled, "Enable/disable button - field now disabled");
	ok(inp.next("button")[0].disabled, "Enable/disable button - button now disabled");
	inp.datepicker("enable");
	ok(!inp.datepicker("isDisabled"), "Enable/disable button - now marked as enabled");
	ok(!inp[0].disabled, "Enable/disable button - field now enabled");
	ok(!inp.next("button")[0].disabled, "Enable/disable button - button now enabled");
	inp.datepicker("destroy");
	// With an image button
	inp = datepickerTestHelpers.init("#inp", {showOn: "button", buttonImageOnly: true,
		buttonImage: "images/calendar.gif"});
	ok(!inp.datepicker("isDisabled"), "Enable/disable image - initially marked as enabled");
	ok(!inp[0].disabled, "Enable/disable image - field initially enabled");
	ok(parseFloat(inp.next("img").css("opacity")) === 1, "Enable/disable image - image initially enabled");
	inp.datepicker("disable");
	ok(inp.datepicker("isDisabled"), "Enable/disable image - now marked as disabled");
	ok(inp[0].disabled, "Enable/disable image - field now disabled");
	ok(parseFloat(inp.next("img").css("opacity")) !== 1, "Enable/disable image - image now disabled");
	inp.datepicker("enable");
	ok(!inp.datepicker("isDisabled"), "Enable/disable image - now marked as enabled");
	ok(!inp[0].disabled, "Enable/disable image - field now enabled");
	ok(parseFloat(inp.next("img").css("opacity")) === 1, "Enable/disable image - image now enabled");
	inp.datepicker("destroy");
	// Inline
	inl = datepickerTestHelpers.init("#inl", {changeYear: true});
	dp = $(".ui-datepicker-inline", inl);
	ok(!inl.datepicker("isDisabled"), "Enable/disable inline - initially marked as enabled");
	ok(!dp.children().is(".ui-state-disabled"), "Enable/disable inline - not visually disabled initially");
	ok(!dp.find("select").prop("disabled"), "Enable/disable inline - form element enabled initially");
	inl.datepicker("disable");
	ok(inl.datepicker("isDisabled"), "Enable/disable inline - now marked as disabled");
	ok(dp.children().is(".ui-state-disabled"), "Enable/disable inline - visually disabled");
	ok(dp.find("select").prop("disabled"), "Enable/disable inline - form element disabled");
	inl.datepicker("enable");
	ok(!inl.datepicker("isDisabled"), "Enable/disable inline - now marked as enabled");
	ok(!dp.children().is(".ui-state-disabled"), "Enable/disable inline - not visiually disabled");
	ok(!dp.find("select").prop("disabled"), "Enable/disable inline - form element enabled");
	inl.datepicker("destroy");
});

} );