r3047 committed - accordion: Fix for #4695
Revision: 3047
Author: joern.zaefferer
Date: Tue Aug 11 11:58:03 2009
Log: accordion: Fix for #4695
http://code.google.com/p/jquery-ui/source/detail?r=3047
Modified:
/trunk/tests/unit/accordion/accordion.html
/trunk/tests/unit/accordion/accordion_options.js
/trunk/tests/visual/accordion/accordion_option_fillSpace_true.html
/trunk/ui/ui.accordion.js
=======================================
--- /trunk/tests/unit/accordion/accordion.html Mon Aug 10 02:38:14 2009
+++ /trunk/tests/unit/accordion/accordion.html Tue Aug 11 11:58:03 2009
@@ -56,6 +56,7 @@
</div>
</div>
+<div id="navigationWrapper">
<ul id="navigation">
<li>
<h2><a href="?p=1.1.1">Guitar</a></h2>
@@ -88,6 +89,7 @@
</ul>
</li>
</ul>
+</div>
</div>
=======================================
--- /trunk/tests/unit/accordion/accordion_options.js Mon Aug 10 17:57:50
2009
+++ /trunk/tests/unit/accordion/accordion_options.js Tue Aug 11 11:58:03
2009
@@ -112,11 +112,19 @@
});
test("{ fillSpace: false }, default", function() {
- ok(false, 'missing test - untested code is broken code');
+ $("#navigationWrapper").height(500);
+ $('#navigation').accordion({ fillSpace: false });
+ equals( $('#navigation > li:eq(0) > ul').height(), 126 );
+ equals( $('#navigation > li:eq(1) > ul').height(), 126 );
+ equals( $('#navigation > li:eq(2) > ul').height(), 126 );
});
test("{ fillSpace: true }", function() {
- ok(false, 'missing test - untested code is broken code');
+ $("#navigationWrapper").height(500);
+ $('#navigation').accordion({ fillSpace: true });
+ equals( $('#navigation > li:eq(0) > ul').height(), 386 );
+ equals( $('#navigation > li:eq(1) > ul').height(), 386 );
+ equals( $('#navigation > li:eq(2) > ul').height(), 386 );
});
test("{ header: '> li > :first-child,> :not(li):even' }, default",
function() {
=======================================
--- /trunk/tests/visual/accordion/accordion_option_fillSpace_true.html Tue
Aug 11 11:46:00 2009
+++ /trunk/tests/visual/accordion/accordion_option_fillSpace_true.html Tue
Aug 11 11:58:03 2009
@@ -20,11 +20,11 @@
<div style="height: 500px; width: 500px; border: 1px solid red;">
<div id="accordion" style="width:490px;">
<h3><a href="#">Accordion Header 1</a></h3>
- <div>
+ <div style="padding-top: 1em">
Accordion Content 1
</div>
<h3><a href="#">Accordion Header 2</a></h3>
- <div>
+ <div style="padding-top: 3em">
Accordion Content 2
paragraph
paragraph
@@ -35,7 +35,7 @@
paragraph
</div>
<h3><a href="#">Accordion Header 3</a></h3>
- <div>
+ <div style="padding-top: 0">
Accordion Content 3
<ul>
<li>list item</li>
=======================================
--- /trunk/ui/ui.accordion.js Tue Aug 11 11:46:00 2009
+++ /trunk/ui/ui.accordion.js Tue Aug 11 11:58:03 2009
@@ -216,11 +216,10 @@
maxHeight -= $(this).outerHeight(true);
});
- var maxPadding = 0;
this.headers.next().each(function() {
- maxPadding = Math.max(maxPadding, $(this).innerHeight() -
$(this).height());
- }).height(Math.max(0, maxHeight - maxPadding))
- .css('overflow', 'auto');
+ var padding = $(this).innerHeight() - $(this).height();
+ $(this).height(Math.max(0, maxHeight - padding));
+ }).css('overflow', 'auto');
} else if ( o.autoHeight ) {
maxHeight = 0;