Author: jcompagner
Date: Wed Nov 21 08:11:33 2007
New Revision: 597130

URL: http://svn.apache.org/viewvc?rev=597130&view=rev
Log:
fix for WICKET-1172
Added unit test for FeedbackBorder and FeedbackIndicator

Added:
    
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/
    
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage.html
    
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage.java
    
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result1.html
    
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result2.html
    
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage.html
    
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage.java
    
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result1.html
    
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result2.html
    
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FormFeedbackTest.java
Modified:
    wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java
    
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/validation/FormComponentFeedbackIndicator.java

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java?rev=597130&r1=597129&r2=597130&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java 
(original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/Component.java 
Wed Nov 21 08:11:33 2007
@@ -987,7 +987,8 @@
 
        private final void internalBeforeRender()
        {
-               if (isVisible() && !getFlag(FLAG_RENDERING) && 
!getFlag(FLAG_PREPARED_FOR_RENDER))
+               if ((isVisible() || callOnBeforeRenderIfNotVisible()) && 
!getFlag(FLAG_RENDERING) &&
+                       !getFlag(FLAG_PREPARED_FOR_RENDER))
                {
                        setFlag(FLAG_BEFORE_RENDERING_SUPER_CALL_VERIFIED, 
false);
 
@@ -3596,12 +3597,28 @@
         * Because this method is responsible for cascading [EMAIL PROTECTED] 
#onBeforeRender()} call to its
         * children it is strongly recommended that super call is made at the 
end of the override.
         * </p>
+        * 
+        * @see Component#callOnBeforeRenderIfNotVisible()
         */
        protected void onBeforeRender()
        {
                setFlag(FLAG_PREPARED_FOR_RENDER, true);
                onBeforeRenderChildren();
                setFlag(FLAG_BEFORE_RENDERING_SUPER_CALL_VERIFIED, true);
+       }
+
+       /**
+        * Override this method if you want onBeforeRender to be called even 
when your component is not
+        * visible. default this returns false.
+        * 
+        * @return boolean, if true then onBeforeRender is called even for none 
visible components,
+        *         default false.
+        * 
+        * @see Component#onBeforeRender()
+        */
+       protected boolean callOnBeforeRenderIfNotVisible()
+       {
+               return false;
        }
 
        /**

Modified: 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/validation/FormComponentFeedbackIndicator.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/validation/FormComponentFeedbackIndicator.java?rev=597130&r1=597129&r2=597130&view=diff
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/validation/FormComponentFeedbackIndicator.java
 (original)
+++ 
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/markup/html/form/validation/FormComponentFeedbackIndicator.java
 Wed Nov 21 08:11:33 2007
@@ -78,6 +78,11 @@
                
setVisible(Session.get().getFeedbackMessages().hasMessage(getFeedbackMessageFilter()));
        }
 
+       protected boolean callOnBeforeRenderIfNotVisible()
+       {
+               return true;
+       }
+
        /**
         * @return Let subclass specify some other filter
         */

Added: 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage.html
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage.html?rev=597130&view=auto
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage.html
 (added)
+++ 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage.html
 Wed Nov 21 08:11:33 2007
@@ -0,0 +1,9 @@
+<html>
+<body>
+<form wicket:id="form">
+<span wicket:id = "feedback">
+       <input type="text" wicket:id="input">
+</span>
+</form>
+</body>
+</html>
\ No newline at end of file

Added: 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage.java?rev=597130&view=auto
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage.java
 (added)
+++ 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage.java
 Wed Nov 21 08:11:33 2007
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.markup.html.form.feedback;
+
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.TextField;
+import 
org.apache.wicket.markup.html.form.validation.FormComponentFeedbackBorder;
+import org.apache.wicket.model.Model;
+
+/**
+ * @author jcompagner
+ */
+public class FeedbackFormPage extends WebPage
+{
+       private static final long serialVersionUID = 1L;
+
+       /**
+        * Construct.
+        */
+       public FeedbackFormPage()
+       {
+               final TextField tf = new TextField("input", new Model());
+               final FormComponentFeedbackBorder feedback = new 
FormComponentFeedbackBorder("feedback");
+               feedback.add(tf);
+
+               Form form = new Form("form")
+               {
+                       private static final long serialVersionUID = 1L;
+
+                       protected void onSubmit()
+                       {
+                               tf.error("an error");
+                       }
+               };
+               form.add(feedback);
+               add(form);
+       }
+}

Added: 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result1.html
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result1.html?rev=597130&view=auto
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result1.html
 (added)
+++ 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result1.html
 Wed Nov 21 08:11:33 2007
@@ -0,0 +1,12 @@
+<html>
+<body>
+<form action="?wicket:interface=:0:form::IFormSubmitListener::" 
wicket:id="form" method="post" id="form1"><div style="display:none"><input 
type="hidden" name="form1_hf_0" id="form1_hf_0" /></div>
+<span wicket:id="feedback"><wicket:border>
+               <wicket:body>
+       <input value="" type="text" wicket:id="input" name="feedback:input">
+</wicket:body>
+           
+       </wicket:border></span>
+</form>
+</body>
+</html>
\ No newline at end of file

Added: 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result2.html
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result2.html?rev=597130&view=auto
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result2.html
 (added)
+++ 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackFormPage_result2.html
 Wed Nov 21 08:11:33 2007
@@ -0,0 +1,12 @@
+<html>
+<body>
+<form action="?wicket:interface=:0:form::IFormSubmitListener::" 
wicket:id="form" method="post" id="form1"><div style="display:none"><input 
type="hidden" name="form1_hf_0" id="form1_hf_0" /></div>
+<span wicket:id="feedback"><wicket:border>
+               <wicket:body>
+       <input value="" type="text" wicket:id="input" name="feedback:input">
+</wicket:body>
+           <span wicket:id="errorIndicator"><span 
style="color:red;">*</span></span>
+       </wicket:border></span>
+</form>
+</body>
+</html>
\ No newline at end of file

Added: 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage.html
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage.html?rev=597130&view=auto
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage.html
 (added)
+++ 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage.html
 Wed Nov 21 08:11:33 2007
@@ -0,0 +1,8 @@
+<html>
+<body>
+<form wicket:id="form">
+       <input type="text" wicket:id="input">
+<span wicket:id = "feedback"></span>
+</form>
+</body>
+</html>
\ No newline at end of file

Added: 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage.java?rev=597130&view=auto
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage.java
 (added)
+++ 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage.java
 Wed Nov 21 08:11:33 2007
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.markup.html.form.feedback;
+
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.TextField;
+import 
org.apache.wicket.markup.html.form.validation.FormComponentFeedbackIndicator;
+import org.apache.wicket.model.Model;
+
+/**
+ * @author jcompagner
+ */
+public class FeedbackIndicatorFormPage extends WebPage
+{
+       private static final long serialVersionUID = 1L;
+
+       /**
+        * Construct.
+        */
+       public FeedbackIndicatorFormPage()
+       {
+               final TextField tf = new TextField("input", new Model());
+               final FormComponentFeedbackIndicator feedback = new 
FormComponentFeedbackIndicator(
+                       "feedback");
+
+               Form form = new Form("form")
+               {
+                       private static final long serialVersionUID = 1L;
+
+                       protected void onSubmit()
+                       {
+                               tf.error("an error");
+                       }
+               };
+               form.add(feedback);
+               form.add(tf);
+
+               add(form);
+       }
+}

Added: 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result1.html
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result1.html?rev=597130&view=auto
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result1.html
 (added)
+++ 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result1.html
 Wed Nov 21 08:11:33 2007
@@ -0,0 +1,8 @@
+<html>
+<body>
+<form action="?wicket:interface=:0:form::IFormSubmitListener::" 
wicket:id="form" method="post" id="form1"><div style="display:none"><input 
type="hidden" name="form1_hf_0" id="form1_hf_0" /></div>
+       <input value="" type="text" wicket:id="input" name="input">
+
+</form>
+</body>
+</html>
\ No newline at end of file

Added: 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result2.html
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result2.html?rev=597130&view=auto
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result2.html
 (added)
+++ 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FeedbackIndicatorFormPage_result2.html
 Wed Nov 21 08:11:33 2007
@@ -0,0 +1,8 @@
+<html>
+<body>
+<form action="?wicket:interface=:0:form:1:IFormSubmitListener::" 
wicket:id="form" method="post" id="form1"><div style="display:none"><input 
type="hidden" name="form1_hf_0" id="form1_hf_0" /></div>
+       <input value="" type="text" wicket:id="input" name="input">
+<span wicket:id="feedback"><wicket:panel><span 
style="color:red;">*</span></wicket:panel></span>
+</form>
+</body>
+</html>
\ No newline at end of file

Added: 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FormFeedbackTest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FormFeedbackTest.java?rev=597130&view=auto
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FormFeedbackTest.java
 (added)
+++ 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/feedback/FormFeedbackTest.java
 Wed Nov 21 08:11:33 2007
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.markup.html.form.feedback;
+
+import org.apache.wicket.Page;
+import org.apache.wicket.WicketTestCase;
+
+/**
+ * @author jcompagner
+ */
+public class FormFeedbackTest extends WicketTestCase
+{
+
+       /**
+        * Construct.
+        */
+       public FormFeedbackTest()
+       {
+       }
+
+       /**
+        * Construct.
+        * 
+        * @param name
+        */
+       public FormFeedbackTest(String name)
+       {
+               super(name);
+       }
+
+       /**
+        * @throws Exception
+        */
+       public void testFormComponentFeedbackBorder() throws Exception
+       {
+               Page page = tester.startPage(FeedbackFormPage.class);
+               tester.assertRenderedPage(FeedbackFormPage.class);
+               tester.assertResultPage(getClass(), 
"FeedbackFormPage_result1.html");
+               tester.executeListener(page.get("form"));
+               tester.assertRenderedPage(FeedbackFormPage.class);
+               tester.assertResultPage(getClass(), 
"FeedbackFormPage_result2.html");
+       }
+
+       /**
+        * @throws Exception
+        */
+       public void testFormComponentFeedbackIndicator() throws Exception
+       {
+               Page page = tester.startPage(FeedbackIndicatorFormPage.class);
+               tester.assertRenderedPage(FeedbackIndicatorFormPage.class);
+               tester.assertResultPage(getClass(), 
"FeedbackIndicatorFormPage_result1.html");
+               tester.executeListener(page.get("form"));
+               tester.assertRenderedPage(FeedbackIndicatorFormPage.class);
+               tester.assertResultPage(getClass(), 
"FeedbackIndicatorFormPage_result2.html");
+       }
+
+}


Reply via email to