2 * datepicker_methods.js
6 module("datepicker: methods");
8 test("destroy", function() {
11 inp = TestHelpers.datepicker.init("#inp");
12 ok(inp.is(".hasDatepicker"), "Default - marker class set");
13 ok($.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Default - instance present");
14 ok(inp.next().is("#alt"), "Default - button absent");
15 inp.datepicker("destroy");
17 ok(!inp.is(".hasDatepicker"), "Default - marker class cleared");
18 ok(!$.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Default - instance absent");
19 ok(inp.next().is("#alt"), "Default - button absent");
21 inp= TestHelpers.datepicker.init("#inp", {showOn: "both"});
22 ok(inp.is(".hasDatepicker"), "Button - marker class set");
23 ok($.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Button - instance present");
24 ok(inp.next().text() === "...", "Button - button added");
25 inp.datepicker("destroy");
27 ok(!inp.is(".hasDatepicker"), "Button - marker class cleared");
28 ok(!$.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Button - instance absent");
29 ok(inp.next().is("#alt"), "Button - button removed");
31 inp = TestHelpers.datepicker.init("#inp", {appendText: "Testing"});
32 ok(inp.is(".hasDatepicker"), "Append - marker class set");
33 ok($.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Append - instance present");
34 ok(inp.next().text() === "Testing", "Append - append text added");
35 inp.datepicker("destroy");
37 ok(!inp.is(".hasDatepicker"), "Append - marker class cleared");
38 ok(!$.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Append - instance absent");
39 ok(inp.next().is("#alt"), "Append - append text removed");
41 inp= TestHelpers.datepicker.init("#inp", {showOn: "both", buttonImageOnly: true,
42 buttonImage: "images/calendar.gif", appendText: "Testing"});
43 ok(inp.is(".hasDatepicker"), "Both - marker class set");
44 ok($.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Both - instance present");
45 ok(inp.next()[0].nodeName.toLowerCase() === "img", "Both - button added");
46 ok(inp.next().next().text() === "Testing", "Both - append text added");
47 inp.datepicker("destroy");
49 ok(!inp.is(".hasDatepicker"), "Both - marker class cleared");
50 ok(!$.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Both - instance absent");
51 ok(inp.next().is("#alt"), "Both - button and append text absent");
53 inl = TestHelpers.datepicker.init("#inl");
54 ok(inl.is(".hasDatepicker"), "Inline - marker class set");
55 ok(inl.html() !== "", "Inline - datepicker present");
56 ok($.data(inl[0], TestHelpers.datepicker.PROP_NAME), "Inline - instance present");
57 ok(inl.next().length === 0 || inl.next().is("p"), "Inline - button absent");
58 inl.datepicker("destroy");
60 ok(!inl.is(".hasDatepicker"), "Inline - marker class cleared");
61 ok(inl.html() === "", "Inline - datepicker absent");
62 ok(!$.data(inl[0], TestHelpers.datepicker.PROP_NAME), "Inline - instance absent");
63 ok(inl.next().length === 0 || inl.next().is("p"), "Inline - button absent");
66 test("enableDisable", function() {
69 inp = TestHelpers.datepicker.init("#inp");
70 ok(!inp.datepicker("isDisabled"), "Enable/disable - initially marked as enabled");
71 ok(!inp[0].disabled, "Enable/disable - field initially enabled");
72 inp.datepicker("disable");
73 ok(inp.datepicker("isDisabled"), "Enable/disable - now marked as disabled");
74 ok(inp[0].disabled, "Enable/disable - field now disabled");
75 inp.datepicker("enable");
76 ok(!inp.datepicker("isDisabled"), "Enable/disable - now marked as enabled");
77 ok(!inp[0].disabled, "Enable/disable - field now enabled");
78 inp.datepicker("destroy");
80 inp = TestHelpers.datepicker.init("#inp", {showOn: "button"});
81 ok(!inp.datepicker("isDisabled"), "Enable/disable button - initially marked as enabled");
82 ok(!inp[0].disabled, "Enable/disable button - field initially enabled");
83 ok(!inp.next("button")[0].disabled, "Enable/disable button - button initially enabled");
84 inp.datepicker("disable");
85 ok(inp.datepicker("isDisabled"), "Enable/disable button - now marked as disabled");
86 ok(inp[0].disabled, "Enable/disable button - field now disabled");
87 ok(inp.next("button")[0].disabled, "Enable/disable button - button now disabled");
88 inp.datepicker("enable");
89 ok(!inp.datepicker("isDisabled"), "Enable/disable button - now marked as enabled");
90 ok(!inp[0].disabled, "Enable/disable button - field now enabled");
91 ok(!inp.next("button")[0].disabled, "Enable/disable button - button now enabled");
92 inp.datepicker("destroy");
93 // With an image button
94 inp = TestHelpers.datepicker.init("#inp", {showOn: "button", buttonImageOnly: true,
95 buttonImage: "images/calendar.gif"});
96 ok(!inp.datepicker("isDisabled"), "Enable/disable image - initially marked as enabled");
97 ok(!inp[0].disabled, "Enable/disable image - field initially enabled");
98 ok(parseFloat(inp.next("img").css("opacity")) === 1, "Enable/disable image - image initially enabled");
99 inp.datepicker("disable");
100 ok(inp.datepicker("isDisabled"), "Enable/disable image - now marked as disabled");
101 ok(inp[0].disabled, "Enable/disable image - field now disabled");
102 ok(parseFloat(inp.next("img").css("opacity")) !== 1, "Enable/disable image - image now disabled");
103 inp.datepicker("enable");
104 ok(!inp.datepicker("isDisabled"), "Enable/disable image - now marked as enabled");
105 ok(!inp[0].disabled, "Enable/disable image - field now enabled");
106 ok(parseFloat(inp.next("img").css("opacity")) === 1, "Enable/disable image - image now enabled");
107 inp.datepicker("destroy");
109 inl = TestHelpers.datepicker.init("#inl", {changeYear: true});
110 dp = $(".ui-datepicker-inline", inl);
111 ok(!inl.datepicker("isDisabled"), "Enable/disable inline - initially marked as enabled");
112 ok(!dp.children().is(".ui-state-disabled"), "Enable/disable inline - not visually disabled initially");
113 ok(!dp.find("select").prop("disabled"), "Enable/disable inline - form element enabled initially");
114 inl.datepicker("disable");
115 ok(inl.datepicker("isDisabled"), "Enable/disable inline - now marked as disabled");
116 ok(dp.children().is(".ui-state-disabled"), "Enable/disable inline - visually disabled");
117 ok(dp.find("select").prop("disabled"), "Enable/disable inline - form element disabled");
118 inl.datepicker("enable");
119 ok(!inl.datepicker("isDisabled"), "Enable/disable inline - now marked as enabled");
120 ok(!dp.children().is(".ui-state-disabled"), "Enable/disable inline - not visiually disabled");
121 ok(!dp.find("select").prop("disabled"), "Enable/disable inline - form element enabled");
122 inl.datepicker("destroy");