Author: svenmeier
Date: Fri Oct 21 07:40:19 2011
New Revision: 1187194

URL: http://svn.apache.org/viewvc?rev=1187194&view=rev
Log:
WICKET-4153 visibility is now checked in onInitialized

Modified:
    
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java
    
wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTableTest.java

Modified: 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java?rev=1187194&r1=1187193&r2=1187194&view=diff
==============================================================================
--- 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java
 (original)
+++ 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTable.java
 Fri Oct 21 07:40:19 2011
@@ -204,7 +204,15 @@ public class DataTable<T> extends Panel 
         */
        protected WebMarkupContainer newBodyContainer(final String id)
        {
-               return new WebMarkupContainer(id);
+               return new WebMarkupContainer(id)
+               {
+                       @Override
+                       protected void onConfigure()
+                       {
+                               super.onConfigure();
+                               setVisible(getRowCount() > 0);
+                       }
+               };
        }
 
        /**

Modified: 
wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTableTest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTableTest.java?rev=1187194&r1=1187193&r2=1187194&view=diff
==============================================================================
--- 
wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTableTest.java
 (original)
+++ 
wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/markup/html/repeater/data/table/DataTableTest.java
 Fri Oct 21 07:40:19 2011
@@ -63,9 +63,9 @@ public class DataTableTest extends TestC
        }
 
        /**
-        * @throws Exception
+        * Testing overall rendered markup.
         */
-       public void test_1() throws Exception
+       public void testRenderedMarkup() throws Exception
        {
                tester.startPage(DataTablePage.class);
                tester.assertRenderedPage(DataTablePage.class);
@@ -95,29 +95,35 @@ public class DataTableTest extends TestC
 
        /**
         * Tests that DataTable doesn't produce thead/tfoot if there are no 
top/bottom toolbars or if
-        * their children components are all invisible
+        * their children components are all invisible.
+        * 
+        * WICKET-3603 and WICKET-4153
         */
-       public void testWicket3603()
+       public void testTableHeaderFooterBody()
        {
                PageParameters parameters = new PageParameters();
                parameters.add("empty", Boolean.TRUE);
-               tester.startPage(Wicket3603Page.class, parameters);
+               tester.startPage(TableHeadFooterBodyPage.class, parameters);
                System.err.println(tester.getLastResponseAsString());
                
Assert.assertTrue(tester.getLastResponseAsString().contains("thead"));
                
Assert.assertTrue(tester.getLastResponseAsString().contains("tfoot"));
+               
Assert.assertFalse(tester.getLastResponseAsString().contains("tbody"));
 
                parameters.set("empty", Boolean.FALSE);
-               tester.startPage(Wicket3603Page.class);
+               tester.startPage(TableHeadFooterBodyPage.class);
                System.err.println(tester.getLastResponseAsString());
                
Assert.assertFalse(tester.getLastResponseAsString().contains("thead"));
                
Assert.assertFalse(tester.getLastResponseAsString().contains("tfoot"));
+               
Assert.assertTrue(tester.getLastResponseAsString().contains("tbody"));
        }
 
        /**
         * Tests that a {@link DataTable} with non-empty {@link 
DataTable#getCaptionModel()} will render
         * &lt;caption&gt; element.
+        * 
+        * WICKET-3886
         */
-       public void testWicket3886()
+       public void testCaption()
        {
                DataTablePage page = new DataTablePage()
                {
@@ -152,7 +158,9 @@ public class DataTableTest extends TestC
        /**
         * A page with a DataTable that either has items (tbody) or header and 
footer (thead/tfoot)
         */
-       public static class Wicket3603Page extends WebPage implements 
IMarkupResourceStreamProvider
+       public static class TableHeadFooterBodyPage extends WebPage
+               implements
+                       IMarkupResourceStreamProvider
        {
                private static final long serialVersionUID = 1L;
 
@@ -161,7 +169,7 @@ public class DataTableTest extends TestC
                 * 
                 * @param parameters
                 */
-               public Wicket3603Page(PageParameters parameters)
+               public TableHeadFooterBodyPage(PageParameters parameters)
                {
                        super(parameters);
 


Reply via email to