r3047 committed - accordion: Fix for #4695

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;