1 | /*
|
---|
2 | * dialog_methods.js
|
---|
3 | */
|
---|
4 | (function($) {
|
---|
5 |
|
---|
6 | module("dialog: methods", {
|
---|
7 | teardown: function() {
|
---|
8 | $("body>.ui-dialog").remove();
|
---|
9 | }
|
---|
10 | });
|
---|
11 |
|
---|
12 | test("init", function() {
|
---|
13 | expect(7);
|
---|
14 |
|
---|
15 | $("<div></div>").appendTo('body').dialog().remove();
|
---|
16 | ok(true, '.dialog() called on element');
|
---|
17 |
|
---|
18 | $([]).dialog().remove();
|
---|
19 | ok(true, '.dialog() called on empty collection');
|
---|
20 |
|
---|
21 | $('<div></div>').dialog().remove();
|
---|
22 | ok(true, '.dialog() called on disconnected DOMElement - never connected');
|
---|
23 |
|
---|
24 | $('<div></div>').appendTo('body').remove().dialog().remove();
|
---|
25 | ok(true, '.dialog() called on disconnected DOMElement - removed');
|
---|
26 |
|
---|
27 | $('<div></div>').dialog().dialog("foo").remove();
|
---|
28 | ok(true, 'arbitrary method called after init');
|
---|
29 |
|
---|
30 | el = $('<div></div>').dialog();
|
---|
31 | var foo = el.dialog("option", "foo");
|
---|
32 | el.remove();
|
---|
33 | ok(true, 'arbitrary option getter after init');
|
---|
34 |
|
---|
35 | $('<div></div>').dialog().dialog("option", "foo", "bar").remove();
|
---|
36 | ok(true, 'arbitrary option setter after init');
|
---|
37 | });
|
---|
38 |
|
---|
39 | test("destroy", function() {
|
---|
40 | $("<div></div>").appendTo('body').dialog().dialog("destroy").remove();
|
---|
41 | ok(true, '.dialog("destroy") called on element');
|
---|
42 |
|
---|
43 | $([]).dialog().dialog("destroy").remove();
|
---|
44 | ok(true, '.dialog("destroy") called on empty collection');
|
---|
45 |
|
---|
46 | $('<div></div>').dialog().dialog("destroy").remove();
|
---|
47 | ok(true, '.dialog("destroy") called on disconnected DOMElement');
|
---|
48 |
|
---|
49 | $('<div></div>').dialog().dialog("destroy").dialog("foo").remove();
|
---|
50 | ok(true, 'arbitrary method called after destroy');
|
---|
51 |
|
---|
52 | var expected = $('<div></div>').dialog(),
|
---|
53 | actual = expected.dialog('destroy');
|
---|
54 | equals(actual, expected, 'destroy is chainable');
|
---|
55 | });
|
---|
56 |
|
---|
57 | test("enable", function() {
|
---|
58 | var expected = $('<div></div>').dialog(),
|
---|
59 | actual = expected.dialog('enable');
|
---|
60 | equals(actual, expected, 'enable is chainable');
|
---|
61 |
|
---|
62 | el = $('<div></div>').dialog({ disabled: true });
|
---|
63 | el.dialog('enable');
|
---|
64 | equals(el.dialog('option', 'disabled'), false, 'enable method sets disabled option to false');
|
---|
65 | ok(!dlg().hasClass('ui-dialog-disabled'), 'enable method removes ui-dialog-disabled class from ui-dialog element');
|
---|
66 | });
|
---|
67 |
|
---|
68 | test("disable", function() {
|
---|
69 | var expected = $('<div></div>').dialog(),
|
---|
70 | actual = expected.dialog('disable');
|
---|
71 | equals(actual, expected, 'disable is chainable');
|
---|
72 |
|
---|
73 | el = $('<div></div>').dialog({ disabled: false });
|
---|
74 | el.dialog('disable');
|
---|
75 | equals(el.dialog('option', 'disabled'), true, 'disable method sets disabled option to true');
|
---|
76 | ok(dlg().hasClass('ui-dialog-disabled'), 'disable method adds ui-dialog-disabled class to ui-dialog element');
|
---|
77 | });
|
---|
78 |
|
---|
79 | test("close", function() {
|
---|
80 | var expected = $('<div></div>').dialog(),
|
---|
81 | actual = expected.dialog('close');
|
---|
82 | equals(actual, expected, 'close is chainable');
|
---|
83 |
|
---|
84 | el = $('<div></div>').dialog();
|
---|
85 | ok(dlg().is(':visible') && !dlg().is(':hidden'), 'dialog visible before close method called');
|
---|
86 | el.dialog('close');
|
---|
87 | ok(dlg().is(':hidden') && !dlg().is(':visible'), 'dialog hidden after close method called');
|
---|
88 | });
|
---|
89 |
|
---|
90 | test("isOpen", function() {
|
---|
91 | expect(4);
|
---|
92 |
|
---|
93 | el = $('<div></div>').dialog();
|
---|
94 | equals(el.dialog('isOpen'), true, "dialog is open after init");
|
---|
95 | el.dialog('close');
|
---|
96 | equals(el.dialog('isOpen'), false, "dialog is closed");
|
---|
97 | el.remove();
|
---|
98 |
|
---|
99 | el = $('<div></div>').dialog({autoOpen: false});
|
---|
100 | equals(el.dialog('isOpen'), false, "dialog is closed after init");
|
---|
101 | el.dialog('open');
|
---|
102 | equals(el.dialog('isOpen'), true, "dialog is open");
|
---|
103 | el.remove();
|
---|
104 | });
|
---|
105 |
|
---|
106 | test("moveToTop", function() {
|
---|
107 | var expected = $('<div></div>').dialog(),
|
---|
108 | actual = expected.dialog('moveToTop');
|
---|
109 | equals(actual, expected, 'moveToTop is chainable');
|
---|
110 |
|
---|
111 | var d1 = $('<div></div>').dialog(), dlg1 = d1.parents('.ui-dialog');
|
---|
112 | d1.dialog('close');
|
---|
113 | d1.dialog('open');
|
---|
114 | var d2 = $('<div></div>').dialog(), dlg2 = d2.parents('.ui-dialog');
|
---|
115 | d2.dialog('close');
|
---|
116 | d2.dialog('open');
|
---|
117 | ok(dlg1.css('zIndex') < dlg2.css('zIndex'), 'dialog 1 under dialog 2 before moveToTop method called');
|
---|
118 | d1.dialog('moveToTop');
|
---|
119 | ok(dlg1.css('zIndex') > dlg2.css('zIndex'), 'dialog 1 above dialog 2 after moveToTop method called');
|
---|
120 | });
|
---|
121 |
|
---|
122 | test("open", function() {
|
---|
123 | var expected = $('<div></div>').dialog(),
|
---|
124 | actual = expected.dialog('open');
|
---|
125 | equals(actual, expected, 'open is chainable');
|
---|
126 |
|
---|
127 | el = $('<div></div>').dialog({ autoOpen: false });
|
---|
128 | ok(dlg().is(':hidden') && !dlg().is(':visible'), 'dialog hidden before open method called');
|
---|
129 | el.dialog('open');
|
---|
130 | ok(dlg().is(':visible') && !dlg().is(':hidden'), 'dialog visible after open method called');
|
---|
131 | });
|
---|
132 |
|
---|
133 | })(jQuery);
|
---|