source: main/trunk/greenstone3/web/interfaces/oran/js/jquery-ui-1.8rc1/tests/unit/accordion/accordion_methods.js@ 24245

Last change on this file since 24245 was 24245, checked in by sjb48, 13 years ago

Oran code for supporting format changes to document.

  • Property svn:executable set to *
File size: 4.6 KB
Line 
1/*
2 * accordion_methods.js
3 */
4(function($) {
5
6function state(accordion) {
7 var expected = $.makeArray(arguments).slice(1);
8 var actual = [];
9 $.each(expected, function(i, n) {
10 actual.push( accordion.find(".ui-accordion-content").eq(i).is(":visible") ? 1 : 0 );
11 });
12 same(actual, expected)
13}
14
15module("accordion: methods");
16
17test("init", function() {
18 $("<div></div>").appendTo('body').accordion().remove();
19 ok(true, '.accordion() called on element');
20
21 $([]).accordion().remove();
22 ok(true, '.accordion() called on empty collection');
23
24 $('<div></div>').accordion().remove();
25 ok(true, '.accordion() called on disconnected DOMElement - never connected');
26
27 $('<div></div>').appendTo('body').remove().accordion().remove();
28 ok(true, '.accordion() called on disconnected DOMElement - removed');
29
30 $('<div></div>').accordion().accordion("foo").remove();
31 ok(true, 'arbitrary method called after init');
32
33 var el = $('<div></div>').accordion();
34 var foo = el.accordion("option", "foo");
35 el.remove();
36 ok(true, 'arbitrary option getter after init');
37
38 $('<div></div>').accordion().accordion("option", "foo", "bar").remove();
39 ok(true, 'arbitrary option setter after init');
40});
41
42test("destroy", function() {
43 $("<div></div>").appendTo('body').accordion().accordion("destroy").remove();
44 ok(true, '.accordion("destroy") called on element');
45
46 $([]).accordion().accordion("destroy").remove();
47 ok(true, '.accordion("destroy") called on empty collection');
48
49 $('<div></div>').accordion().accordion("destroy").remove();
50 ok(true, '.accordion("destroy") called on disconnected DOMElement');
51
52 $('<div></div>').accordion().accordion("destroy").accordion("foo").remove();
53 ok(true, 'arbitrary method called after destroy');
54
55 var expected = $('<div></div>').accordion(),
56 actual = expected.accordion('destroy');
57 equals(actual, expected, 'destroy is chainable');
58});
59
60test("enable", function() {
61 var expected = $('#list1').accordion(),
62 actual = expected.accordion('enable');
63 equals(actual, expected, 'enable is chainable');
64 state(expected, 1, 0, 0)
65});
66
67test("disable", function() {
68 var expected = $('#list1').accordion(),
69 actual = expected.accordion('disable');
70 equals(actual, expected, 'disable is chainable');
71
72 state(expected, 1, 0, 0)
73 expected.accordion("activate", 1);
74 state(expected, 1, 0, 0)
75 expected.accordion("enable");
76 expected.accordion("activate", 1);
77 state(expected, 0, 1, 0)
78});
79
80test("activate", function() {
81 var expected = $('#list1').accordion(),
82 actual = expected.accordion('activate', 2);
83 equals(actual, expected, 'activate is chainable');
84});
85
86test("activate, numeric", function() {
87 var ac = $('#list1').accordion({ active: 1 });
88 state(ac, 0, 1, 0);
89 ac.accordion("activate", 2);
90 state(ac, 0, 0, 1);
91 ac.accordion("activate", 0);
92 state(ac, 1, 0, 0);
93 ac.accordion("activate", 1);
94 state(ac, 0, 1, 0);
95 ac.accordion("activate", 2);
96 state(ac, 0, 0, 1);
97});
98
99test("activate, boolean and numeric, collapsible:true", function() {
100 var ac = $('#list1').accordion({collapsible: true}).accordion("activate", 2);
101 state(ac, 0, 0, 1);
102 ok("x", "----");
103 ac.accordion("activate", 0);
104 state(ac, 1, 0, 0);
105 ok("x", "----");
106 ac.accordion("activate", -1);
107 state(ac, 0, 0, 0);
108});
109
110test("activate, boolean, collapsible: false", function() {
111 var ac = $('#list1').accordion().accordion("activate", 2);
112 state(ac, 0, 0, 1);
113 ac.accordion("activate", false);
114 state(ac, 0, 0, 1);
115});
116
117test("activate, string expression", function() {
118 var ac = $('#list1').accordion({ active: "a:last" });
119 state(ac, 0, 0, 1);
120 ac.accordion("activate", ":first");
121 state(ac, 1, 0, 0);
122 ac.accordion("activate", ":eq(1)");
123 state(ac, 0, 1, 0);
124 ac.accordion("activate", ":last");
125 state(ac, 0, 0, 1);
126});
127//[ 0, 1, 1 ] result: [ 0, 0, 1 ]
128//[ 0, 1, 1] result: [ 0, 0, 1]
129test("activate, jQuery or DOM element", function() {
130 var ac = $('#list1').accordion({ active: $("#list1 a:last") });
131 state(ac, 0, 0, 1);
132 ac.accordion("activate", $("#list1 a:first"));
133 state(ac, 1, 0, 0);
134 ac.accordion("activate", $("#list1 a")[1]);
135 state(ac, 0, 1, 0);
136});
137
138test("resize", function() {
139 var expected = $('#list1').accordion();
140
141 var sizes = [];
142 expected.find(".ui-accordion-content").each(function() {
143 sizes.push($(this).outerHeight());
144 });
145
146 var actual = expected.accordion('resize');
147 equals(actual, expected, 'resize is chainable');
148
149 var sizes2 = [];
150 expected.find(".ui-accordion-content").each(function() {
151 sizes2.push($(this).outerHeight());
152 });
153 same(sizes, sizes2);
154
155 expected.find(".ui-accordion-content:first").height(500)
156 var sizes3 = [];
157});
158
159})(jQuery);
Note: See TracBrowser for help on using the repository browser.