Author: ivaynberg
Date: Thu Jan 24 21:51:36 2008
New Revision: 615118

URL: http://svn.apache.org/viewvc?rev=615118&view=rev
Log:
failing unit test for WICKET-1304

Added:
    
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/FormComponentPanelProcessingTest.java
   (with props)

Added: 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/FormComponentPanelProcessingTest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/FormComponentPanelProcessingTest.java?rev=615118&view=auto
==============================================================================
--- 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/FormComponentPanelProcessingTest.java
 (added)
+++ 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/FormComponentPanelProcessingTest.java
 Thu Jan 24 21:51:36 2008
@@ -0,0 +1,134 @@
+/*
+ * 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;
+
+import org.apache.wicket.MarkupContainer;
+import org.apache.wicket.WicketTestCase;
+import org.apache.wicket.markup.IMarkupResourceStreamProvider;
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.util.resource.IResourceStream;
+import org.apache.wicket.util.resource.StringResourceStream;
+import org.apache.wicket.util.tester.FormTester;
+
+/**
+ * Test form component panel related form processing
+ * 
+ * @author ivaynberg
+ */
+public class FormComponentPanelProcessingTest extends WicketTestCase
+{
+
+       /**
+        * Test processing order of form component panel and its containing 
children. The children
+        * should be processed first.
+        */
+       public void testProcessingOrder()
+       {
+               tester.startPage(new TestPage());
+               tester.assertRenderedPage(TestPage.class);
+               FormTester ft = tester.newFormTester("form");
+               ft.submit();
+       }
+
+       private static class TestFormComponentPanel extends FormComponentPanel
+               implements
+                       IMarkupResourceStreamProvider
+       {
+               private static final long serialVersionUID = 1L;
+
+               private boolean childValidated = false;
+               private boolean childModelUpdated = false;
+
+               private TestFormComponentPanel(String id, IModel model)
+               {
+                       super(id, model);
+                       add(new TextField("text", new Model())
+                       {
+                               private static final long serialVersionUID = 1L;
+
+                               protected void convertInput()
+                               {
+                                       super.convertInput();
+                                       childValidated = true;
+                               }
+
+                               public void updateModel()
+                               {
+                                       super.updateModel();
+                                       childModelUpdated = true;
+                               }
+                       });
+               }
+
+               protected void onBeforeRender()
+               {
+                       super.onBeforeRender();
+                       childValidated = false;
+                       childModelUpdated = false;
+
+               }
+
+               protected void convertInput()
+               {
+                       if (childValidated == false)
+                       {
+                               fail("Child should have been validated before 
parent");
+                       }
+                       super.convertInput();
+               }
+
+               public void updateModel()
+               {
+                       if (childModelUpdated == false)
+                       {
+                               fail("Child's model not updated before 
parent's");
+
+                       }
+                       super.updateModel();
+               }
+
+               public IResourceStream getMarkupResourceStream(MarkupContainer 
container,
+                       Class containerClass)
+               {
+                       return new StringResourceStream(
+                               "<wicket:panel><input wicket:id='text' 
type='text'/></wicket:panel>");
+               }
+       }
+
+
+       private static class TestPage extends WebPage implements 
IMarkupResourceStreamProvider
+       {
+               private static final long serialVersionUID = 1L;
+
+               public TestPage()
+               {
+                       Form form = new Form("form");
+                       add(form);
+                       form.add(new TestFormComponentPanel("panel", new 
Model()));
+               }
+
+               public IResourceStream getMarkupResourceStream(MarkupContainer 
container,
+                       Class containerClass)
+               {
+                       return new StringResourceStream(
+                               "<body><form wicket:id='form'><div 
wicket:id='panel'></div></form></body>");
+               }
+
+       }
+}

Propchange: 
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/markup/html/form/FormComponentPanelProcessingTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain


Reply via email to