-/*
- * accordion_core.js
- */
+(function( $ ) {
+module( "accordion: core" );
-(function($) {
-
-module("accordion: core");
-
-test("handle click on header-descendant", function() {
- var ac = $('#navigation').accordion({ autoHeight: false });
- $('#navigation h2:eq(1) a').trigger("click");
- state(ac, 0, 1, 0);
+test( "handle click on header-descendant", function() {
+ var ac = $( "#navigation" ).accordion();
+ $( "#navigation h2:eq(1) a" ).click();
+ state( ac, 0, 1, 0 );
});
-test("ui-accordion-heading class added to headers anchor", function() {
- expect(1);
- var ac = $("#list1").accordion();
- var anchors = $(".ui-accordion-heading");
- equals( anchors.length, "3");
+test( "ui-accordion-heading class added to headers anchor", function() {
+ expect( 1 );
+ var ac = $( "#list1" ).accordion();
+ var anchors = $( ".ui-accordion-heading" );
+ equals( anchors.length, 3 );
});
-test("accessibility", function () {
- expect(9);
- var ac = $('#list1').accordion().accordion("option", "active", 1);
- var headers = $(".ui-accordion-header");
-
- equals( headers.eq(1).attr("tabindex"), "0", "active header should have tabindex=0");
- equals( headers.eq(0).attr("tabindex"), "-1", "inactive header should have tabindex=-1");
- equals( ac.attr("role"), "tablist", "main role");
- equals( headers.attr("role"), "tab", "tab roles");
- equals( headers.next().attr("role"), "tabpanel", "tabpanel roles");
- equals( headers.eq(1).attr("aria-expanded"), "true", "active tab has aria-expanded");
- equals( headers.eq(0).attr("aria-expanded"), "false", "inactive tab has aria-expanded");
- ac.accordion("option", "active", 0);
- equals( headers.eq(0).attr("aria-expanded"), "true", "newly active tab has aria-expanded");
- equals( headers.eq(1).attr("aria-expanded"), "false", "newly inactive tab has aria-expanded");
+test( "accessibility", function () {
+ expect( 9 );
+ var ac = $( "#list1" ).accordion().accordion( "option", "active", 1 );
+ var headers = $( ".ui-accordion-header" );
+
+ equals( headers.eq( 1 ).attr( "tabindex" ), 0, "active header should have tabindex=0" );
+ equals( headers.eq( 0 ).attr( "tabindex" ), -1, "inactive header should have tabindex=-1" );
+ equals( ac.attr( "role" ), "tablist", "main role" );
+ equals( headers.attr( "role" ), "tab", "tab roles" );
+ equals( headers.next().attr( "role" ), "tabpanel", "tabpanel roles" );
+ equals( headers.eq( 1 ).attr( "aria-expanded" ), "true", "active tab has aria-expanded" );
+ equals( headers.eq( 0 ).attr( "aria-expanded" ), "false", "inactive tab has aria-expanded" );
+ ac.accordion( "option", "active", 0 );
+ equals( headers.eq( 0 ).attr( "aria-expanded" ), "true", "newly active tab has aria-expanded" );
+ equals( headers.eq( 1 ).attr( "aria-expanded" ), "false", "newly inactive tab has aria-expanded" );
});
-})(jQuery);
+}( jQuery ) );
-/*
- * accordion_defaults.js
- */
var accordion_defaults = {
active: 0,
header: "> li > :first-child,> :not(li):even",
heightStyle: "auto",
icons: {
- "header": "ui-icon-triangle-1-e",
- "activeHeader": "ui-icon-triangle-1-s"
+ "activeHeader": "ui-icon-triangle-1-s",
+ "header": "ui-icon-triangle-1-e"
}
};
+++ /dev/null
-/*
- * accordion_defaults.js
- */
-
-var accordion_defaults = {
- active: 0,
- animated: false,
- autoHeight: true,
- clearStyle: false,
- collapsible: false,
- disabled: false,
- event: "click",
- fillSpace: false,
- header: "> li > :first-child,> :not(li):even",
- heightStyle: null,
- icons: {
- "header": "ui-icon-triangle-1-e",
- "activeHeader": null,
- "headerSelected": "ui-icon-triangle-1-s"
- },
- navigation: false,
- navigationFilter: function() {}
-};
-
-commonWidgetTests( "accordion", { defaults: accordion_defaults } );
+++ /dev/null
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="utf-8">
- <title>jQuery UI Accordion Test Suite</title>
-
- <link rel="stylesheet" href="../../../themes/base/jquery.ui.accordion.css">
-
- <script src="../../../jquery-1.4.4.js"></script>
- <script src="../../../ui/jquery.ui.core.js"></script>
- <script src="../../../ui/jquery.ui.widget.js"></script>
- <script src="../../../ui/jquery.ui.accordion.js"></script>
-
- <link rel="stylesheet" href="../../../external/qunit.css">
- <script src="../../../external/qunit.js"></script>
- <script src="../../jquery.simulate.js"></script>
- <script src="../testsuite.js"></script>
-
- <script>
- $.ui.accordion.prototype.options.animated = false;
-
- function state(accordion) {
- var args = $.makeArray(arguments).slice(1);
- var result = [];
- $.each(args, function(i, n) {
- result.push( accordion.find(".ui-accordion-content").eq(i).filter(function() {
- return $(this).css("display") != "none"
- }).length ? 1 : 0 );
- });
- same(args, result)
- }
- function equalHeights(accordion, min, max) {
- var sizes = [];
- accordion.find(".ui-accordion-content").each(function() {
- sizes.push($(this).outerHeight());
- });
- ok( sizes[0] >= min && sizes[0] <= max, "must be within " + min + " and " + max + ", was " + sizes[0] );
- same(sizes[0], sizes[1]);
- same(sizes[0], sizes[2]);
- }
- </script>
- <script src="accordion_core.js"></script>
- <script src="accordion_defaults_deprecated.js"></script>
- <script src="accordion_events.js"></script>
- <script src="accordion_methods.js"></script>
- <script src="accordion_options.js"></script>
- <script src="accordion_tickets.js"></script>
- <script src="accordion_deprecated.js"></script>
-
- <script src="../swarminject.js"></script>
- <style>
- #main { font-size: 10pt; font-family: "trebuchet ms", verdana, arial; }
- #list, #list1 *, #navigation, #navigation * { margin: 0; padding: 0; font-size: 12px; }
- </style>
-</head>
-<body>
-
-<h1 id="qunit-header">jQuery UI Accordion Test Suite</h1>
-<h2 id="qunit-banner"></h2>
-<h2 id="qunit-userAgent"></h2>
-<ol id="qunit-tests">
-</ol>
-
-<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
-
- <div>
- <div id="list1" class="foo">
- <h3 class="bar"><a class="anchor">There is one obvious advantage:</a></h3>
- <div class="foo">
- <p>
- You've seen it coming!
- <br/>
- Buy now and get nothing for free!
- <br/>
- Well, at least no free beer. Perhaps a bear, if you can afford it.
- </p>
- </div>
- <h3 class="bar"><a class="anchor">Now that you've got...</a></h3>
- <div class="foo">
- <p>
- your bear, you have to admit it!
- <br/>
- No, we aren't selling bears.
- </p>
- <p>
- We could talk about renting one.
- </p>
- </div>
- <h3 class="bar"><a class="anchor">Rent one bear, ...</a></h3>
- <div class="foo">
- <p>
- get two for three beer.
- </p>
- <p>
- And now, for something completely different.
- </p>
- </div>
- </div>
- </div>
-
-<div id="navigationWrapper">
- <ul id="navigation">
- <li>
- <h2><a href="?p=1.1.1">Guitar</a></h2>
- <ul>
- <li><a href="?p=1.1.1.1">Electric</a></li>
- <li><a href="?p=1.1.1.2">Acoustic</a></li>
- <li><a href="?p=1.1.1.3">Amps</a></li>
- <li><a href="?p=1.1.1.4">Effects</a></li>
- <li><a href="?p=1.1.1.5">Accessories</a></li>
- </ul>
- </li>
- <li>
- <h2><a href="?p=1.1.2"><span>Bass</span></a></h2>
- <ul>
- <li><a href="?p=1.1.2.1">Electric</a></li>
- <li><a href="?p=1.1.2.2">Acoustic</a></li>
- <li><a href="?p=1.1.2.3">Amps</a></li>
- <li><a href="?p=1.1.2.4">Effects</a></li>
- <li><a href="?p=1.1.2.5">Accessories</a></li>
- <li><a href="?p=1.1.2.5">Accessories</a></li>
- <li><a href="?p=1.1.2.5">Accessories</a></li>
- </ul>
- </li>
- <li>
- <h2><a href="?p=1.1.3">Drums</a></h2>
- <ul>
- <li><a href="?p=1.1.3.2">Acoustic Drums</a></li>
- <li><a href="?p=1.1.3.3">Electronic Drums</a></li>
- <li><a href="?p=1.1.3.6">Accessories</a></li>
- </ul>
- </li>
- </ul>
-</div>
-
-</div>
-
-</body>
-</html>
+++ /dev/null
-/*
- * accordion_core.js
- */
-
-
-(function($) {
-
-module("accordion (deprecated): expanded active option, activate method");
-
-test("activate", function() {
- var expected = $('#list1').accordion(),
- actual = expected.accordion('activate', 2);
- equals(actual, expected, 'activate is chainable');
-});
-
-test("activate, numeric", function() {
- var ac = $('#list1').accordion({ active: 1 });
- state(ac, 0, 1, 0);
- ac.accordion("activate", 2);
- state(ac, 0, 0, 1);
- ac.accordion("activate", 0);
- state(ac, 1, 0, 0);
- ac.accordion("activate", 1);
- state(ac, 0, 1, 0);
- ac.accordion("activate", 2);
- state(ac, 0, 0, 1);
-});
-
-test("activate, boolean and numeric, collapsible:true", function() {
- var ac = $('#list1').accordion({collapsible: true}).accordion("activate", 2);
- state(ac, 0, 0, 1);
- ok("x", "----");
- ac.accordion("activate", 0);
- state(ac, 1, 0, 0);
- ok("x", "----");
- ac.accordion("activate", -1);
- state(ac, 0, 0, 0);
-});
-
-test("activate, boolean, collapsible: false", function() {
- var ac = $('#list1').accordion().accordion("activate", 2);
- state(ac, 0, 0, 1);
- ac.accordion("activate", false);
- state(ac, 0, 0, 1);
-});
-
-test("activate, string expression", function() {
- var ac = $('#list1').accordion({ active: "h3:last" });
- state(ac, 0, 0, 1);
- ac.accordion("activate", ":first");
- state(ac, 1, 0, 0);
- ac.accordion("activate", ":eq(1)");
- state(ac, 0, 1, 0);
- ac.accordion("activate", ":last");
- state(ac, 0, 0, 1);
-});
-
-test("activate, jQuery or DOM element", function() {
- var ac = $('#list1').accordion({ active: $("#list1 h3:last") });
- state(ac, 0, 0, 1);
- ac.accordion("activate", $("#list1 h3:first"));
- state(ac, 1, 0, 0);
- ac.accordion("activate", $("#list1 h3")[1]);
- state(ac, 0, 1, 0);
-});
-
-test("{ active: Selector }", function() {
- var ac = $("#list1").accordion({
- active: "h3:last"
- });
- state(ac, 0, 0, 1);
- ac.accordion('option', 'active', "h3:eq(1)");
- state(ac, 0, 1, 0);
-});
-
-test("{ active: Element }", function() {
- var ac = $("#list1").accordion({
- active: $("#list1 h3:last")[0]
- });
- state(ac, 0, 0, 1);
- ac.accordion('option', 'active', $("#list1 h3:eq(1)")[0]);
- state(ac, 0, 1, 0);
-});
-
-test("{ active: jQuery Object }", function() {
- var ac = $("#list1").accordion({
- active: $("#list1 h3:last")
- });
- state(ac, 0, 0, 1);
- ac.accordion('option', 'active', $("#list1 h3:eq(1)"));
- state(ac, 0, 1, 0);
-});
-
-
-
-
-
-
-module("accordion (deprecated) - height options");
-
-test("{ autoHeight: true }, default", function() {
- equalHeights($('#navigation').accordion({ autoHeight: true }), 95, 130);
-});
-
-test("{ autoHeight: false }", function() {
- var accordion = $('#navigation').accordion({ autoHeight: false });
- var sizes = [];
- accordion.find(".ui-accordion-content").each(function() {
- sizes.push($(this).height());
- });
- ok( sizes[0] >= 70 && sizes[0] <= 90, "was " + sizes[0] );
- ok( sizes[1] >= 98 && sizes[1] <= 126, "was " + sizes[1] );
- ok( sizes[2] >= 42 && sizes[2] <= 54, "was " + sizes[2] );
-});
-
-// fillSpace: false == autoHeight: true, covered above
-test("{ fillSpace: true }", function() {
- $("#navigationWrapper").height(500);
- equalHeights($('#navigation').accordion({ fillSpace: true }), 446, 458);
-});
-
-test("{ fillSpace: true } with sibling", function() {
- $("#navigationWrapper").height(500);
- var sibling = $("<p>Lorem Ipsum</p>");
- $("#navigationWrapper").prepend( sibling.height(100) );
- //sibling.outerHeight(true) == 126
- equalHeights($('#navigation').accordion({ fillSpace: true}), 320, 332);
-});
-
-test("{ fillSpace: true } with multiple siblings", function() {
- $("#navigationWrapper").height(500);
- var sibling = $("<p>Lorem Ipsum</p>");
- $("#navigationWrapper")
- .prepend( sibling.clone().height(100) )
- .prepend( sibling.clone().height(100).css( "position", "absolute" ) )
- .prepend( sibling.clone().height(50) );
- //sibling.outerHeight(true) == 126
- equalHeights($('#navigation').accordion({ fillSpace: true}), 244, 256);
-});
-
-
-
-
-module("accordion (deprecated) - icons");
-
-test("change headerSelected option after creation", function() {
- var list = $("#list1");
- list.accordion( { icons: { "activeHeader": "test" } } );
- equals( $( "#list1 span.test" ).length, 1);
- list.accordion( "option", "icons", { "headerSelected": "deprecated" } );
- equals( $( "#list1 span.deprecated" ).length, 1);
-});
-
-})(jQuery);
-/*
- * accordion_events.js
- */
-(function($) {
+(function( $ ) {
-module("accordion: events");
+module( "accordion: events" );
-test("accordionchange event, open closed and close again", function() {
- expect(8);
- $("#list1").accordion({
- active: false,
- collapsible: true
- })
- .one("accordionchange", function(event, ui) {
- equals( ui.oldHeader.size(), 0 );
- equals( ui.oldContent.size(), 0 );
- equals( ui.newHeader.size(), 1 );
- equals( ui.newContent.size(), 1 );
- })
- .accordion("option", "active", 0)
- .one("accordionchange", function(event, ui) {
- equals( ui.oldHeader.size(), 1 );
- equals( ui.oldContent.size(), 1 );
- equals( ui.newHeader.size(), 0 );
- equals( ui.newContent.size(), 0 );
- })
- .accordion("option", "active", false);
+// TODO: verify correct elements in ui properties
+// TODO: add tests for switching between active panels (not collapsed)
+// TODO: add tests for changestart
+// TODO: move change/changestart to deprecated tests (add activate/beforeactivate)
+test( "accordionchange event, open closed and close again", function() {
+ expect( 8 );
+ $( "#list1" )
+ .accordion({
+ active: false,
+ collapsible: true
+ })
+ .one( "accordionchange", function( event, ui ) {
+ equals( ui.oldHeader.size(), 0 );
+ equals( ui.oldContent.size(), 0 );
+ equals( ui.newHeader.size(), 1 );
+ equals( ui.newContent.size(), 1 );
+ })
+ .accordion( "option", "active", 0 )
+ .one( "accordionchange", function( event, ui ) {
+ equals( ui.oldHeader.size(), 1 );
+ equals( ui.oldContent.size(), 1 );
+ equals( ui.newHeader.size(), 0 );
+ equals( ui.newContent.size(), 0 );
+ })
+ .accordion( "option", "active", false );
});
-})(jQuery);
+}( jQuery ) );
--- /dev/null
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>jQuery UI Accordion Test Suite</title>
+
+ <link rel="stylesheet" href="../../../../themes/base/jquery.ui.accordion.css">
+
+ <script src="../../../../jquery-1.4.4.js"></script>
+ <script src="../../../../ui/jquery.ui.core.js"></script>
+ <script src="../../../../ui/jquery.ui.widget.js"></script>
+ <script src="../../../../ui/jquery.ui.accordion.js"></script>
+
+ <link rel="stylesheet" href="../../../../external/qunit.css">
+ <script src="../../../../external/qunit.js"></script>
+ <script src="../../../jquery.simulate.js"></script>
+ <script src="../../testsuite.js"></script>
+
+ <script>
+ $.ui.accordion.prototype.options.animated = false;
+
+ function state(accordion) {
+ var args = $.makeArray(arguments).slice(1);
+ var result = [];
+ $.each(args, function(i, n) {
+ result.push( accordion.find(".ui-accordion-content").eq(i).filter(function() {
+ return $(this).css("display") != "none"
+ }).length ? 1 : 0 );
+ });
+ same(args, result)
+ }
+ function equalHeights(accordion, min, max) {
+ var sizes = [];
+ accordion.find(".ui-accordion-content").each(function() {
+ sizes.push($(this).outerHeight());
+ });
+ ok( sizes[0] >= min && sizes[0] <= max, "must be within " + min + " and " + max + ", was " + sizes[0] );
+ same(sizes[0], sizes[1]);
+ same(sizes[0], sizes[2]);
+ }
+ </script>
+ <script src="../accordion_core.js"></script>
+ <script src="accordion_defaults_deprecated.js"></script>
+ <script src="../accordion_events.js"></script>
+ <script src="../accordion_methods.js"></script>
+ <script src="../accordion_options.js"></script>
+ <script src="../accordion_tickets.js"></script>
+ <script src="accordion_deprecated.js"></script>
+
+ <script src="../../swarminject.js"></script>
+ <style>
+ #main { font-size: 10pt; font-family: "trebuchet ms", verdana, arial; }
+ #list, #list1 *, #navigation, #navigation * { margin: 0; padding: 0; font-size: 12px; }
+ </style>
+</head>
+<body>
+
+<h1 id="qunit-header">jQuery UI Accordion Test Suite</h1>
+<h2 id="qunit-banner"></h2>
+<h2 id="qunit-userAgent"></h2>
+<ol id="qunit-tests">
+</ol>
+
+<div id="main" style="position: absolute; top: -10000px; left: -10000px;">
+
+ <div>
+ <div id="list1" class="foo">
+ <h3 class="bar"><a class="anchor">There is one obvious advantage:</a></h3>
+ <div class="foo">
+ <p>
+ You've seen it coming!
+ <br/>
+ Buy now and get nothing for free!
+ <br/>
+ Well, at least no free beer. Perhaps a bear, if you can afford it.
+ </p>
+ </div>
+ <h3 class="bar"><a class="anchor">Now that you've got...</a></h3>
+ <div class="foo">
+ <p>
+ your bear, you have to admit it!
+ <br/>
+ No, we aren't selling bears.
+ </p>
+ <p>
+ We could talk about renting one.
+ </p>
+ </div>
+ <h3 class="bar"><a class="anchor">Rent one bear, ...</a></h3>
+ <div class="foo">
+ <p>
+ get two for three beer.
+ </p>
+ <p>
+ And now, for something completely different.
+ </p>
+ </div>
+ </div>
+ </div>
+
+<div id="navigationWrapper">
+ <ul id="navigation">
+ <li>
+ <h2><a href="?p=1.1.1">Guitar</a></h2>
+ <ul>
+ <li><a href="?p=1.1.1.1">Electric</a></li>
+ <li><a href="?p=1.1.1.2">Acoustic</a></li>
+ <li><a href="?p=1.1.1.3">Amps</a></li>
+ <li><a href="?p=1.1.1.4">Effects</a></li>
+ <li><a href="?p=1.1.1.5">Accessories</a></li>
+ </ul>
+ </li>
+ <li>
+ <h2><a href="?p=1.1.2"><span>Bass</span></a></h2>
+ <ul>
+ <li><a href="?p=1.1.2.1">Electric</a></li>
+ <li><a href="?p=1.1.2.2">Acoustic</a></li>
+ <li><a href="?p=1.1.2.3">Amps</a></li>
+ <li><a href="?p=1.1.2.4">Effects</a></li>
+ <li><a href="?p=1.1.2.5">Accessories</a></li>
+ <li><a href="?p=1.1.2.5">Accessories</a></li>
+ <li><a href="?p=1.1.2.5">Accessories</a></li>
+ </ul>
+ </li>
+ <li>
+ <h2><a href="?p=1.1.3">Drums</a></h2>
+ <ul>
+ <li><a href="?p=1.1.3.2">Acoustic Drums</a></li>
+ <li><a href="?p=1.1.3.3">Electronic Drums</a></li>
+ <li><a href="?p=1.1.3.6">Accessories</a></li>
+ </ul>
+ </li>
+ </ul>
+</div>
+
+</div>
+
+</body>
+</html>
--- /dev/null
+
+var accordion_defaults = {
+ active: 0,
+ animated: false,
+ autoHeight: true,
+ clearStyle: false,
+ collapsible: false,
+ disabled: false,
+ event: "click",
+ fillSpace: false,
+ header: "> li > :first-child,> :not(li):even",
+ heightStyle: null,
+ icons: {
+ "activeHeader": null,
+ "header": "ui-icon-triangle-1-e",
+ "headerSelected": "ui-icon-triangle-1-s"
+ },
+ navigation: false,
+ navigationFilter: function() {}
+};
+
+commonWidgetTests( "accordion", { defaults: accordion_defaults } );
--- /dev/null
+/*
+ * accordion_core.js
+ */
+
+
+(function($) {
+
+module("accordion (deprecated): expanded active option, activate method");
+
+test("activate", function() {
+ var expected = $('#list1').accordion(),
+ actual = expected.accordion('activate', 2);
+ equals(actual, expected, 'activate is chainable');
+});
+
+test("activate, numeric", function() {
+ var ac = $('#list1').accordion({ active: 1 });
+ state(ac, 0, 1, 0);
+ ac.accordion("activate", 2);
+ state(ac, 0, 0, 1);
+ ac.accordion("activate", 0);
+ state(ac, 1, 0, 0);
+ ac.accordion("activate", 1);
+ state(ac, 0, 1, 0);
+ ac.accordion("activate", 2);
+ state(ac, 0, 0, 1);
+});
+
+test("activate, boolean and numeric, collapsible:true", function() {
+ var ac = $('#list1').accordion({collapsible: true}).accordion("activate", 2);
+ state(ac, 0, 0, 1);
+ ok("x", "----");
+ ac.accordion("activate", 0);
+ state(ac, 1, 0, 0);
+ ok("x", "----");
+ ac.accordion("activate", -1);
+ state(ac, 0, 0, 0);
+});
+
+test("activate, boolean, collapsible: false", function() {
+ var ac = $('#list1').accordion().accordion("activate", 2);
+ state(ac, 0, 0, 1);
+ ac.accordion("activate", false);
+ state(ac, 0, 0, 1);
+});
+
+test("activate, string expression", function() {
+ var ac = $('#list1').accordion({ active: "h3:last" });
+ state(ac, 0, 0, 1);
+ ac.accordion("activate", ":first");
+ state(ac, 1, 0, 0);
+ ac.accordion("activate", ":eq(1)");
+ state(ac, 0, 1, 0);
+ ac.accordion("activate", ":last");
+ state(ac, 0, 0, 1);
+});
+
+test("activate, jQuery or DOM element", function() {
+ var ac = $('#list1').accordion({ active: $("#list1 h3:last") });
+ state(ac, 0, 0, 1);
+ ac.accordion("activate", $("#list1 h3:first"));
+ state(ac, 1, 0, 0);
+ ac.accordion("activate", $("#list1 h3")[1]);
+ state(ac, 0, 1, 0);
+});
+
+test("{ active: Selector }", function() {
+ var ac = $("#list1").accordion({
+ active: "h3:last"
+ });
+ state(ac, 0, 0, 1);
+ ac.accordion('option', 'active', "h3:eq(1)");
+ state(ac, 0, 1, 0);
+});
+
+test("{ active: Element }", function() {
+ var ac = $("#list1").accordion({
+ active: $("#list1 h3:last")[0]
+ });
+ state(ac, 0, 0, 1);
+ ac.accordion('option', 'active', $("#list1 h3:eq(1)")[0]);
+ state(ac, 0, 1, 0);
+});
+
+test("{ active: jQuery Object }", function() {
+ var ac = $("#list1").accordion({
+ active: $("#list1 h3:last")
+ });
+ state(ac, 0, 0, 1);
+ ac.accordion('option', 'active', $("#list1 h3:eq(1)"));
+ state(ac, 0, 1, 0);
+});
+
+
+
+
+
+
+module("accordion (deprecated) - height options");
+
+test("{ autoHeight: true }, default", function() {
+ equalHeights($('#navigation').accordion({ autoHeight: true }), 95, 130);
+});
+
+test("{ autoHeight: false }", function() {
+ var accordion = $('#navigation').accordion({ autoHeight: false });
+ var sizes = [];
+ accordion.find(".ui-accordion-content").each(function() {
+ sizes.push($(this).height());
+ });
+ ok( sizes[0] >= 70 && sizes[0] <= 90, "was " + sizes[0] );
+ ok( sizes[1] >= 98 && sizes[1] <= 126, "was " + sizes[1] );
+ ok( sizes[2] >= 42 && sizes[2] <= 54, "was " + sizes[2] );
+});
+
+// fillSpace: false == autoHeight: true, covered above
+test("{ fillSpace: true }", function() {
+ $("#navigationWrapper").height(500);
+ equalHeights($('#navigation').accordion({ fillSpace: true }), 446, 458);
+});
+
+test("{ fillSpace: true } with sibling", function() {
+ $("#navigationWrapper").height(500);
+ var sibling = $("<p>Lorem Ipsum</p>");
+ $("#navigationWrapper").prepend( sibling.height(100) );
+ //sibling.outerHeight(true) == 126
+ equalHeights($('#navigation').accordion({ fillSpace: true}), 320, 332);
+});
+
+test("{ fillSpace: true } with multiple siblings", function() {
+ $("#navigationWrapper").height(500);
+ var sibling = $("<p>Lorem Ipsum</p>");
+ $("#navigationWrapper")
+ .prepend( sibling.clone().height(100) )
+ .prepend( sibling.clone().height(100).css( "position", "absolute" ) )
+ .prepend( sibling.clone().height(50) );
+ //sibling.outerHeight(true) == 126
+ equalHeights($('#navigation').accordion({ fillSpace: true}), 244, 256);
+});
+
+
+
+
+module("accordion (deprecated) - icons");
+
+test("change headerSelected option after creation", function() {
+ var list = $("#list1");
+ list.accordion( { icons: { "activeHeader": "test" } } );
+ equals( $( "#list1 span.test" ).length, 1);
+ list.accordion( "option", "icons", { "headerSelected": "deprecated" } );
+ equals( $( "#list1 span.deprecated" ).length, 1);
+});
+
+})(jQuery);
header: "> li > :first-child,> :not(li):even",
heightStyle: "auto",
icons: {
- header: "ui-icon-triangle-1-e",
- activeHeader: "ui-icon-triangle-1-s"
+ activeHeader: "ui-icon-triangle-1-s",
+ header: "ui-icon-triangle-1-e"
}
},