You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by jk...@apache.org on 2007/07/19 04:21:11 UTC

svn commit: r557457 - in /tapestry/tapestry4/trunk: tapestry-examples/Workbench/src/context/ tapestry-framework/src/java/org/apache/tapestry/ tapestry-framework/src/java/org/apache/tapestry/form/ tapestry-framework/src/java/org/apache/tapestry/services...

Author: jkuhnert
Date: Wed Jul 18 19:21:09 2007
New Revision: 557457

URL: http://svn.apache.org/viewvc?view=rev&rev=557457
Log:
Fixes TAPESTRY-1640.  God damn FieldLabel prerender strikes again.....

Modified:
    tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Dates.html
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/FormBehavior.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/AbstractFormComponent.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Form.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java
    tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java
    tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/BaseFormComponentTestCase.java
    tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/FormSupportTest.java
    tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/MockForm.java
    tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/DojoAjaxResponseBuilderTest.java
    tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/valid/FieldLabelTest.java

Modified: tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Dates.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Dates.html?view=diff&rev=557457&r1=557456&r2=557457
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Dates.html (original)
+++ tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Dates.html Wed Jul 18 19:21:09 2007
@@ -3,61 +3,61 @@
 <h2>Date Pickers</h2>
 
 <p>
-This page is used to demonstrate the DatePicker component. Once submitted the date values input will be displayed below
-via an XHR request.
+    This page is used to demonstrate the DatePicker component. Once submitted the date values input will be displayed below
+    via an XHR request.
 </p>
 
     <form jwcid="valid@Form">
-<input jwcid="inputEnabled"/> Enable Client Side Validation
-</form>
+        <input jwcid="inputEnabled"/> Enable Client Side Validation
+    </form>
 
 <span jwcid="showError"/>
 
-<form jwcid="dateForm@Form" delegate="bean:delegate" 
-		clientValidationEnabled="ognl:clientValidationEnabled" 
-		async="true" updateComponents="dateDisplay" >
-<table >
-<tbody>
- <tr>
- 	<td colspan="2" >
- 		<input type="checkbox" jwcid="@Checkbox" value="ognl:includeWeek"
- 		onclick="javascript:this.form.submit();"/>
- 		Include weeks in DatePicker UI.
- 		</td>
- 	</tr>
- <tr >
-  <td  align="right"><span jwcid="@FieldLabel" field="component:startDate"/>:</td>
-  <td ><input jwcid="startDate@DatePicker" includeWeek="ognl:includeWeek" value="ognl:startDate" 
-  	displayName="Start Date" validators="ognl:{beans.required,beans.maxDate}" 
-  	translator="translator:date,lenient=false,pattern=dd MMM yyyy" /></td> 
- </tr>
- <tr>
-  <td  align="right"><span jwcid="@FieldLabel" field="component:endDate"/>:</td>
-  <td ><input jwcid="endDate@DatePicker" includeWeek="ognl:includeWeek" value="ognl:endDate" 
-  		displayName="End Date" validators="ognl:{beans.required,beans.minDate}"/></td>
- </tr>
- 
- <tr>
- <td></td>
-  <td align="right"><input jwcid="@Submit" value="Submit" /> </td>
- </tr>
-</tbody>
-</table>
+<form jwcid="dateForm@Form" delegate="bean:delegate"
+      clientValidationEnabled="ognl:clientValidationEnabled"
+      async="true" updateComponents="dateDisplay" >
+    <table >
+        <tbody>
+            <tr>
+                <td colspan="2" >
+                    <input type="checkbox" jwcid="@Checkbox" value="ognl:includeWeek"
+                           onclick="javascript:this.form.submit();"/>
+                    Include weeks in DatePicker UI.
+                </td>
+            </tr>
+            <tr >
+                <td  align="right"><span jwcid="@FieldLabel" field="component:startDate"/>:</td>
+                <td ><input jwcid="startDate@DatePicker" includeWeek="ognl:includeWeek" value="ognl:startDate"
+                            displayName="Start Date" validators="ognl:{beans.required,beans.maxDate}"
+                            translator="translator:date,lenient=false,pattern=dd MMM yyyy" /></td>
+            </tr>
+            <tr>
+                <td  align="right"><span jwcid="@FieldLabel" field="component:endDate"/>:</td>
+                <td ><input jwcid="endDate@DatePicker" includeWeek="ognl:includeWeek" value="ognl:endDate"
+                            displayName="End Date" validators="ognl:{beans.required,beans.minDate}"/></td>
+            </tr>
+
+            <tr>
+                <td></td>
+                <td align="right"><input jwcid="@Submit" value="Submit" /> </td>
+            </tr>
+        </tbody>
+    </table>
 </form>
 <br/>
 <div jwcid="dateDisplay@Any">
-<u>Submitted Dates</u><br/>
-<table valign="middle">
-	<tr>
-<th>Start date:</th>
-<td> <span jwcid="@Insert" value="ognl:startDate"/></td>
-</tr>
-	<tr>
-<th>End date:</th> 
-	<td>
-		<span jwcid="@Insert" value="ognl:endDate"/>
-		</td></tr>
-</table>
+    <u>Submitted Dates</u><br/>
+    <table valign="middle">
+        <tr>
+            <th>Start date:</th>
+            <td> <span jwcid="@Insert" value="ognl:startDate"/></td>
+        </tr>
+        <tr>
+            <th>End date:</th>
+            <td>
+                <span jwcid="@Insert" value="ognl:endDate"/>
+            </td></tr>
+    </table>
 </div>
 
 </span>

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/FormBehavior.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/FormBehavior.java?view=diff&rev=557457&r1=557456&r2=557457
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/FormBehavior.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/FormBehavior.java Wed Jul 18 19:21:09 2007
@@ -147,7 +147,17 @@
      *         false if the field should continue as normal.
      */
     boolean wasPrerendered(IMarkupWriter writer, IComponent field);
-    
+
+    /**
+     * Invoked to check if a particular component has been pre-rendered.
+     *
+     * @param field
+     *          The component to check for pre-rendering. (Such as is done by {@link org.apache.tapestry.valid.FieldLabel}.
+     * 
+     * @return True if the component was pre-rendered, false otherwise.
+     */
+    boolean wasPrerendered(IComponent field);
+
     /**
      * Adds a deferred runnable, an object to be executed either before the &lt;/form&gt; tag is
      * rendered (when rendering), or before the form's listener is invoked (when rewinding).

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/AbstractFormComponent.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/AbstractFormComponent.java?view=diff&rev=557457&r1=557456&r2=557457
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/AbstractFormComponent.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/AbstractFormComponent.java Wed Jul 18 19:21:09 2007
@@ -14,11 +14,7 @@
 
 package org.apache.tapestry.form;
 
-import org.apache.tapestry.AbstractComponent;
-import org.apache.tapestry.IForm;
-import org.apache.tapestry.IMarkupWriter;
-import org.apache.tapestry.IRequestCycle;
-import org.apache.tapestry.TapestryUtils;
+import org.apache.tapestry.*;
 import org.apache.tapestry.engine.NullWriter;
 import org.apache.tapestry.valid.IValidationDelegate;
 import org.apache.tapestry.valid.ValidationConstants;
@@ -171,7 +167,7 @@
         IForm form = (IForm) getPage().getRequestCycle().getAttribute(TapestryUtils.FORM_ATTRIBUTE);
         if (form == null)
             return null;
-        
+
         return form.peekClientId(this);
     }
     

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Form.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Form.java?view=diff&rev=557457&r1=557456&r2=557457
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Form.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/Form.java Wed Jul 18 19:21:09 2007
@@ -354,7 +354,12 @@
     {
         return _formSupport.wasPrerendered(writer, field);
     }
-    
+
+    public boolean wasPrerendered(IComponent field)
+    {
+        return _formSupport.wasPrerendered(field);
+    }
+
     /** @since 4.0 */
 
     public void addDeferredRunnable(Runnable runnable)

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java?view=diff&rev=557457&r1=557456&r2=557457
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java Wed Jul 18 19:21:09 2007
@@ -419,7 +419,10 @@
         String id = comp.getSpecifiedId();
         if (id == null)
             return null;
-        
+
+        if (wasPrerendered(comp))
+            return comp.getClientId();
+
         return _elementIdAllocator.peekNextId(id);
     }
     
@@ -812,7 +815,12 @@
 
         return true;
     }
-    
+
+    public boolean wasPrerendered(IComponent field)
+    {
+        return _prerenderMap.containsKey(field.getExtendedId());
+    }
+
     public void addDeferredRunnable(Runnable runnable)
     {
         Defense.notNull(runnable, "runnable");

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java?view=diff&rev=557457&r1=557456&r2=557457
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java Wed Jul 18 19:21:09 2007
@@ -574,22 +574,24 @@
     public void render(IMarkupWriter writer, IRender render, IRequestCycle cycle)
     {
         // must be a valid writer already
-        
-        if (NestedMarkupWriterImpl.class.isInstance(writer)) {
+
+        if (NestedMarkupWriterImpl.class.isInstance(writer) && !NullWriter.class.isInstance(writer))
+        {
             render.render(writer, cycle);
             return;
         }
 
         // check for page exception renders and write content to writer so client can display them
         
-        if (IPage.class.isInstance(render)) {
-            
+        if (IPage.class.isInstance(render))
+        {    
             IPage page = (IPage)render;
             String errorPage = getErrorPage(page.getPageName());
             
-            if (errorPage != null) {
-                
+            if (errorPage != null)
+            {    
                 _pageRender = true;
+                
                 clearPartialWriters();
                 render.render(getWriter(errorPage, EXCEPTION_TYPE), cycle);
                 return;
@@ -600,8 +602,8 @@
             // this appropriately. (usually by replacing the current dom with whatever this renders)
             
             if (_cycle.getParameter(ServiceConstants.PAGE) != null
-                    && !page.getPageName().equals(_cycle.getParameter(ServiceConstants.PAGE))) {
-                
+                    && !page.getPageName().equals(_cycle.getParameter(ServiceConstants.PAGE)))
+            {    
                 IMarkupWriter urlwriter = _writer.getNestedWriter();
                 
                 urlwriter.begin("response");

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/BaseFormComponentTestCase.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/BaseFormComponentTestCase.java?view=diff&rev=557457&r1=557456&r2=557457
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/BaseFormComponentTestCase.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/BaseFormComponentTestCase.java Wed Jul 18 19:21:09 2007
@@ -14,19 +14,9 @@
 
 package org.apache.tapestry.form;
 
-import static org.easymock.EasyMock.checkOrder;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
-
-import org.apache.tapestry.BaseComponentTestCase;
-import org.apache.tapestry.IActionListener;
-import org.apache.tapestry.IBinding;
-import org.apache.tapestry.IComponent;
-import org.apache.tapestry.IForm;
-import org.apache.tapestry.IMarkupWriter;
-import org.apache.tapestry.IRequestCycle;
-import org.apache.tapestry.TapestryUtils;
+import org.apache.tapestry.*;
 import org.apache.tapestry.valid.IValidationDelegate;
+import static org.easymock.EasyMock.*;
 
 /**
  * Base class for tests of implementations of {@link org.apache.tapestry.form.IFormComponent}.
@@ -58,7 +48,7 @@
 
     protected void trainGetForm(IRequestCycle cycle, IForm form)
     {
-        expect(cycle.getAttribute(TapestryUtils.FORM_ATTRIBUTE)).andReturn(form);
+        expect(cycle.getAttribute(TapestryUtils.FORM_ATTRIBUTE)).andReturn(form).anyTimes();
     }
 
     protected void trainGetDelegate(IForm form, IValidationDelegate delegate)

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/FormSupportTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/FormSupportTest.java?view=diff&rev=557457&r1=557456&r2=557457
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/FormSupportTest.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/FormSupportTest.java Wed Jul 18 19:21:09 2007
@@ -33,45 +33,45 @@
 
 /**
  * Tests for {@link org.apache.tapestry.form.FormSupportImpl}.
- * 
+ *
  * @author Howard M. Lewis Ship
  * @since 4.0
  */
 @Test(sequential = true)
-public class FormSupportTest extends BaseComponentTestCase
-{
-    @DataProvider(name="allSupports")
-    public Object[][] createAllSupports() {
-        return new Object[][] {
-            {new FormSupportFactoryImpl()},
-            {new MultipleFormSupportFactory()}
+public class FormSupportTest extends BaseComponentTestCase {
+    @DataProvider(name = "allSupports")
+    public Object[][] createAllSupports()
+    {
+        return new Object[][]{
+          {new FormSupportFactoryImpl()},
+          {new MultipleFormSupportFactory()}
         };
     }
 
-    @DataProvider(name="mainSupport")
-    public Object[][] createMainSupport() {
-        return new Object[][] {
-            {new FormSupportFactoryImpl()}
+    @DataProvider(name = "mainSupport")
+    public Object[][] createMainSupport()
+    {
+        return new Object[][]{
+          {new FormSupportFactoryImpl()}
         };
     }
 
     protected FormSupport newFormSupport(IRequestCycle cycle)
     {
         return new FormSupportImpl(cycle);
-    }    
+    }
 
     private IRender newComponentRenderBody(final FormSupport fs, final IFormComponent component,
-            final IMarkupWriter nested)
+                                           final IMarkupWriter nested)
     {
         return newComponentsRenderBody(fs, new IFormComponent[]
-        { component }, nested);
+          {component}, nested);
     }
 
     private IRender newComponentsRenderBody(final FormSupport fs, final IFormComponent[] component,
-            final IMarkupWriter nested)
+                                            final IMarkupWriter nested)
     {
-        return new IRender()
-        {
+        return new IRender() {
             public void render(IMarkupWriter writer, IRequestCycle cycle)
             {
                 assertEquals(nested, writer);
@@ -101,12 +101,12 @@
     {
         IFormComponent component = newMock(IFormComponent.class);
         checkOrder(component, false);
-        
+
         expect(component.getSpecifiedId()).andReturn(id);
 
         component.setName(name);
         component.setClientId(name);
-        
+
         return component;
     }
 
@@ -115,7 +115,7 @@
         IFormComponent component = newMock(IFormComponent.class);
 
         expect(component.getSpecifiedId()).andReturn(id);
-        
+
         trainGetExtendedId(component, extendedId);
         trainGetLocation(component, location);
 
@@ -141,19 +141,19 @@
         verify();
 
         delegate.clear();
-        
+
         trainGetParameter(cycle, FormSupportImpl.SUBMIT_MODE, "cancel");
-        
+
         // Create a body, just to provie it doesn't get invoked.
-        
+
         IRender body = newMock(IRender.class);
-        
+
         form.setBody(body);
-        
+
         replay();
-        
+
         assertEquals(FormConstants.SUBMIT_CANCEL, fs.rewind());
-        
+
         verify();
     }
 
@@ -171,7 +171,7 @@
         MockForm form = new MockForm(delegate);
 
         trainIsRewound(cycle, form, false);
-        
+
         PageRenderSupport support = newPageRenderSupport();
 
         trainGetPageRenderSupport(cycle, support);
@@ -187,16 +187,16 @@
         final IFormComponent barney2 = newFormComponent("barney", "barney_0");
 
         IRender body = newComponentsRenderBody(fs, new IFormComponent[]
-        { barney1, wilma, barney2 }, nested);
+          {barney1, wilma, barney2}, nested);
 
         form.setBody(body);
 
         trainRegister(support, form, "myform");
 
         trainGetParameterNames(link, new String[]
-        { "service" });
+          {"service"});
         trainGetParameterValues(link, "service", new String[]
-        { "fred" });
+          {"fred"});
 
         trainGetNestedWriter(writer, nested);
 
@@ -205,7 +205,7 @@
         writer.begin("form");
         writer.attribute("method", "post");
         writer.attribute("action", "/app");
-        
+
         writer.attribute("id", "myform");
 
         render.render(writer, cycle);
@@ -217,18 +217,18 @@
         nested.close();
 
         writer.end();
-        
+
         trainGetFocusField(delegate, "wilma");
-        
+
         expect(cycle.isFocusDisabled()).andReturn(false);
-        
+
         // effectively means someone else has already claimed focus
-        
+
         trainGetFieldFocus(cycle, null);
-        
+
         support.addInitializationScript(form, "dojo.require(\"tapestry.form\");tapestry.form.focusField('wilma');");
         cycle.setAttribute(FormSupportImpl.FIELD_FOCUS_ATTRIBUTE, Boolean.TRUE);
-        
+
         replay();
 
         fs.render("post", render, link, null, null);
@@ -244,21 +244,21 @@
         IValidationDelegate delegate = newDelegate();
         MockForm form = new MockForm(delegate);
         ListenerInvoker listenerInvoker = newMock(ListenerInvoker.class);
-        
+
         ComponentEventInvoker invoker = new ComponentEventInvoker();
         invoker.setInvoker(listenerInvoker);
-        
+
         trainIsRewound(cycle, form, true);
         trainGetPageRenderSupport(cycle, null);
-        
+
         replay();
 
         final FormSupport fs = factory.createFormSupport(writer, cycle, form);
-        
+
         verify();
 
         delegate.clear();
-        
+
         trainCycleForRewind(cycle, "barney,wilma,barney_0", null);
 
         final IFormComponent barney1 = newFormComponent("barney", "barney");
@@ -266,22 +266,22 @@
         final IFormComponent barney2 = newFormComponent("barney", "barney_0");
 
         IRender body = newComponentsRenderBody(fs, new IFormComponent[]
-        { barney1, wilma, barney2 }, writer);
+          {barney1, wilma, barney2}, writer);
 
         form.setBody(body);
         form.setEventInvoker(invoker);
-        
+
         trainExtractBrowserEvent(cycle);
         expect(cycle.getParameter(BrowserEvent.METHOD_ARGUMENTS)).andReturn("null");
-        
+
         replay();
-        
+
         Map props = new HashMap();
         props.put("id", "bsId");
         BrowserEvent event = new BrowserEvent("onclick", new EventTarget(props));
-        
+
         invoker.invokeFormListeners(fs, cycle, event);
-        
+
         assertEquals(FormConstants.SUBMIT_NORMAL, fs.rewind());
 
         verify();
@@ -298,7 +298,7 @@
         PageRenderSupport support = newPageRenderSupport();
         ILink link = newLink();
         IRender render = newRender();
-        
+
         MockForm form = new MockForm(delegate);
 
         trainIsRewound(cycle, form, false);
@@ -309,9 +309,8 @@
         final FormSupport fs = factory.createFormSupport(writer, cycle, form);
 
         verify();
-        
-        form.setBody(new IRender()
-        {
+
+        form.setBody(new IRender() {
             public void render(IMarkupWriter pwriter, IRequestCycle pcycle)
             {
                 fs.addEventHandler(FormEventType.SUBMIT, "mySubmit1");
@@ -323,10 +322,10 @@
         trainRegister(support, form, "myform");
 
         trainGetParameterNames(link, new String[]
-        { "service" });
+          {"service"});
 
         trainGetParameterValues(link, "service", new String[]
-        { "fred" });
+          {"fred"});
 
         trainGetNestedWriter(writer, nested);
 
@@ -337,10 +336,10 @@
         writer.attribute("action", "/app");
 
         writer.attribute("id", "myform");
-        
+
         support.addInitializationScript(form, "Tapestry.onsubmit('myform', function (event)"
-                + "\n{\n  mySubmit1();\n  mySubmit2();\n  mySubmit3();\n});\n");
-        
+                                              + "\n{\n  mySubmit1();\n  mySubmit2();\n  mySubmit3();\n});\n");
+
         render.render(writer, cycle);
 
         writer.println();
@@ -350,13 +349,13 @@
         nested.close();
 
         writer.end();
-        
+
         // Side test: what if no focus field?
 
         trainGetFocusField(delegate, null);
-        
+
         expect(cycle.isFocusDisabled()).andReturn(false);
-        
+
         replay();
 
         fs.render("post", render, link, null, null);
@@ -388,8 +387,7 @@
 
         verify();
 
-        form.setBody(new IRender()
-        {
+        form.setBody(new IRender() {
             public void render(IMarkupWriter pwriter, IRequestCycle pcycle)
             {
                 fs.setEncodingType("foo/bar");
@@ -399,10 +397,10 @@
         trainRegister(support, form, "myform");
 
         trainGetParameterNames(link, new String[]
-        { "service" });
+          {"service"});
 
         trainGetParameterValues(link, "service", new String[]
-        { "fred" });
+          {"fred"});
 
         trainGetNestedWriter(writer, nested);
 
@@ -411,7 +409,7 @@
         writer.begin("form");
         writer.attribute("method", "post");
         writer.attribute("action", "/app");
-        
+
         writer.attribute("id", "myform");
         writer.attribute("enctype", "foo/bar");
 
@@ -428,7 +426,7 @@
         trainGetFocusField(delegate, null);
 
         expect(cycle.isFocusDisabled()).andReturn(false);
-        
+
         replay();
 
         fs.render("post", render, link, null, null);
@@ -444,30 +442,29 @@
         NestedMarkupWriter nested = newNestedWriter();
         IRequestCycle cycle = newCycle();
         Location l = newLocation();
-        
+
         ResponseBuilder builder = newMock(ResponseBuilder.class);
 
         trainGetExtendedId(field, "foo.bar");
-
         trainGetNestedWriter(writer, nested);
-        
+
         expect(cycle.getAttribute(TapestryUtils.FIELD_PRERENDER)).andReturn(null);
         cycle.setAttribute(TapestryUtils.FIELD_PRERENDER, field);
-        
+
         expect(cycle.getResponseBuilder()).andReturn(builder);
-        
+
         builder.render(nested, field, cycle);
-        
+
         cycle.removeAttribute(TapestryUtils.FIELD_PRERENDER);
-        
+
         expect(nested.getBuffer()).andReturn("NESTED CONTENT");
 
         replay();
 
         FormSupport fs = newFormSupport(cycle);
-        
+
         fs.prerenderField(writer, field, l);
-        
+
         verify();
 
         trainGetExtendedId(field, "foo.bar");
@@ -479,12 +476,11 @@
             fs.prerenderField(writer, field, l);
             unreachable();
         }
-        catch (ApplicationRuntimeException ex)
-        {
+        catch (ApplicationRuntimeException ex) {
             assertEquals(
-                    "Field EasyMock for interface org.apache.tapestry.form.IFormComponent has already been pre-rendered. "
-                            + "This exception may indicate that a FieldLabel rendered, but the corresponding field did not.",
-                    ex.getMessage());
+              "Field EasyMock for interface org.apache.tapestry.form.IFormComponent has already been pre-rendered. "
+              + "This exception may indicate that a FieldLabel rendered, but the corresponding field did not.",
+              ex.getMessage());
 
             assertSame(l, ex.getLocation());
             assertSame(field, ex.getComponent());
@@ -509,7 +505,6 @@
         MockForm form = new MockForm(delegate);
 
         trainIsRewound(cycle, form, false);
-
         trainGetPageRenderSupport(cycle, support);
 
         replay();
@@ -518,8 +513,7 @@
 
         verify();
 
-        form.setBody(new IRender()
-        {
+        form.setBody(new IRender() {
             public void render(IMarkupWriter pwriter, IRequestCycle pcycle)
             {
                 fs.addHiddenValue("hidden1", "value1");
@@ -528,12 +522,8 @@
         });
 
         trainRegister(support, form, "myform");
-
-        trainGetParameterNames(link, new String[]
-        { "service" });
-
-        trainGetParameterValues(link, "service", new String[]
-        { "fred" });
+        trainGetParameterNames(link, new String[]{"service"});
+        trainGetParameterValues(link, "service", new String[] {"fred"});
 
         trainGetNestedWriter(writer, nested);
 
@@ -542,17 +532,17 @@
         writer.begin("form");
         writer.attribute("method", "post");
         writer.attribute("action", "/app");
-        
+
         writer.attribute("id", "myform");
 
         render.render(writer, cycle);
 
         writer.println();
-        
+
         expect(cycle.getResponseBuilder()).andReturn(builder);
-        
+
         expect(builder.contains(form)).andReturn(false);
-        
+
         trainDiv(writer, form);
 
         trainHidden(writer, "formids", "");
@@ -571,7 +561,7 @@
         trainGetFocusField(delegate, null);
 
         expect(cycle.isFocusDisabled()).andReturn(false);
-        
+
         replay();
 
         fs.render("post", render, link, null, null);
@@ -602,8 +592,7 @@
 
         verify();
 
-        form.setBody(new IRender()
-        {
+        form.setBody(new IRender() {
             public void render(IMarkupWriter pwriter, IRequestCycle pcycle)
             {
                 fs.setEncodingType("foo/bar");
@@ -614,25 +603,23 @@
         trainRegister(support, form, "myform");
 
         trainGetParameterNames(link, new String[]
-        { "service" });
+          {"service"});
 
         trainGetParameterValues(link, "service", new String[]
-        { "fred" });
+          {"fred"});
 
         trainGetNestedWriter(writer, nested);
 
         replay();
 
-        try
-        {
+        try {
             fs.render("post", render, link, null, null);
             unreachable();
         }
-        catch (ApplicationRuntimeException ex)
-        {
+        catch (ApplicationRuntimeException ex) {
             assertEquals(
-                    "Components within form SomePage/myform have requested conflicting encoding types 'foo/bar' and 'zip/zap'.",
-                    ex.getMessage());
+              "Components within form SomePage/myform have requested conflicting encoding types 'foo/bar' and 'zip/zap'.",
+              ex.getMessage());
             assertSame(form, ex.getComponent());
         }
 
@@ -647,7 +634,7 @@
         IValidationDelegate delegate = newDelegate();
         MockForm form = new MockForm(delegate);
         ComponentEventInvoker invoker = org.easymock.classextension.EasyMock.createMock(ComponentEventInvoker.class);
-        
+
         trainIsRewound(cycle, form, true);
 
         trainGetPageRenderSupport(cycle, null);
@@ -668,10 +655,10 @@
 
         form.setBody(body);
         form.setEventInvoker(invoker);
-        
+
         trainExtractBrowserEvent(cycle);
         expect(cycle.getParameter(BrowserEvent.METHOD_ARGUMENTS)).andReturn("null");
-        
+
         invoker.invokeFormListeners(eq(fs), eq(cycle), isA(BrowserEvent.class));
 
         delegate.clearErrors();
@@ -716,10 +703,10 @@
         trainRegister(support, form, "myform");
 
         trainGetParameterNames(link, new String[]
-        { "action" });
+          {"action"});
 
         trainGetParameterValues(link, "action", new String[]
-        { "fred" });
+          {"fred"});
 
         trainGetNestedWriter(writer, nested);
 
@@ -728,17 +715,17 @@
         writer.begin("form");
         writer.attribute("method", "post");
         writer.attribute("action", "/app");
-        
+
         writer.attribute("id", "myform");
 
         render.render(writer, cycle);
 
         writer.println();
-        
+
         expect(cycle.getResponseBuilder()).andReturn(builder);
-        
+
         expect(builder.contains(form)).andReturn(false);
-        
+
         trainDiv(writer, form);
 
         trainHidden(writer, "formids", "action_0");
@@ -756,7 +743,7 @@
         trainGetFocusField(delegate, null);
 
         expect(cycle.isFocusDisabled()).andReturn(false);
-        
+
         replay();
 
         fs.render("post", render, link, null, null);
@@ -771,7 +758,7 @@
         NestedMarkupWriter nested = newNestedWriter();
         IRequestCycle cycle = newCycle();
         ResponseBuilder builder = newMock(ResponseBuilder.class);
-        
+
         IValidationDelegate delegate = newDelegate();
         PageRenderSupport support = newPageRenderSupport();
         ILink link = newLink();
@@ -789,8 +776,7 @@
 
         verify();
 
-        form.setBody(new IRender()
-        {
+        form.setBody(new IRender() {
             public void render(IMarkupWriter pwriter, IRequestCycle pcycle)
             {
                 fs.addEventHandler(FormEventType.RESET, "myReset1");
@@ -801,24 +787,24 @@
         trainRegister(support, form, "myform");
 
         trainGetParameterNames(link, new String[]
-        { "service" });
+          {"service"});
 
         trainGetParameterValues(link, "service", new String[]
-        { "fred" });
+          {"fred"});
 
         trainGetNestedWriter(writer, nested);
-        
+
         trainGetURL(link, null, "/app");
-        
+
         writer.begin("form");
         writer.attribute("method", "post");
         writer.attribute("action", "/app");
-        
+
         writer.attribute("id", "myform");
-        
+
         support.addInitializationScript(form, "Tapestry.onreset('myform', function (event)"
-                + "\n{\n  myReset1();\n  myReset2();\n});\n");
-        
+                                              + "\n{\n  myReset1();\n  myReset2();\n});\n");
+
         render.render(writer, cycle);
 
         writer.println();
@@ -828,11 +814,11 @@
         nested.close();
 
         writer.end();
-        
+
         trainGetFocusField(delegate, null);
 
         expect(cycle.isFocusDisabled()).andReturn(false);
-        
+
         replay();
 
         fs.render("post", render, link, null, null);
@@ -846,9 +832,9 @@
         IMarkupWriter writer = newWriter();
         IRequestCycle cycle = newCycle();
         IValidationDelegate delegate = newDelegate();
-        ComponentEventInvoker invoker = 
-            org.easymock.classextension.EasyMock.createMock(ComponentEventInvoker.class);
-        
+        ComponentEventInvoker invoker =
+          org.easymock.classextension.EasyMock.createMock(ComponentEventInvoker.class);
+
         MockForm form = new MockForm(delegate);
 
         trainIsRewound(cycle, form, true);
@@ -871,12 +857,12 @@
 
         form.setBody(body);
         form.setEventInvoker(invoker);
-        
+
         trainExtractBrowserEvent(cycle);
         expect(cycle.getParameter(BrowserEvent.METHOD_ARGUMENTS)).andReturn("null");
-        
+
         invoker.invokeFormListeners(eq(fs), eq(cycle), isA(BrowserEvent.class));
-        
+
         replay();
 
         assertEquals(FormConstants.SUBMIT_NORMAL, fs.rewind());
@@ -911,28 +897,26 @@
         // but is now false on the rewind.
 
         trainCycleForRewind(cycle, "barney,wilma,pebbles,barney_0", null);
-        
+
         final IFormComponent barney1 = newFormComponent("barney", "barney");
         final IFormComponent wilma = newFormComponent("wilma", "wilma");
         final IFormComponent barney2 = newFormComponent("barney", "SomePage/barney", l);
-        
+
         IRender body = newComponentsRenderBody(fs, new IFormComponent[]
-        { barney1, wilma, barney2 }, writer);
+          {barney1, wilma, barney2}, writer);
 
         form.setBody(body);
 
         replay();
 
-        try
-        {
+        try {
             fs.rewind();
             unreachable();
         }
-        catch (StaleLinkException ex)
-        {
+        catch (StaleLinkException ex) {
             assertEquals(
-                    "Rewind of form SomePage/myform expected allocated id #3 to be 'pebbles', but was 'barney_0' (requested by component SomePage/barney).",
-                    ex.getMessage());
+              "Rewind of form SomePage/myform expected allocated id #3 to be 'pebbles', but was 'barney_0' (requested by component SomePage/barney).",
+              ex.getMessage());
             assertSame(barney2, ex.getComponent());
             assertSame(l, ex.getLocation());
         }
@@ -973,22 +957,20 @@
         final IFormComponent barney2 = newFormComponent("barney", "SomePage/barney", l);
 
         IRender body = newComponentsRenderBody(fs, new IFormComponent[]
-        { barney1, wilma, barney2 }, writer);
+          {barney1, wilma, barney2}, writer);
 
         form.setBody(body);
 
         replay();
 
-        try
-        {
+        try {
             fs.rewind();
             unreachable();
         }
-        catch (StaleLinkException ex)
-        {
+        catch (StaleLinkException ex) {
             assertEquals(
-                    "Rewind of form SomePage/myform expected only 2 form elements, but an additional id was requested by component SomePage/barney.",
-                    ex.getMessage());
+              "Rewind of form SomePage/myform expected only 2 form elements, but an additional id was requested by component SomePage/barney.",
+              ex.getMessage());
             assertSame(barney2, ex.getComponent());
             assertSame(l, ex.getLocation());
         }
@@ -1004,7 +986,7 @@
         IRequestCycle cycle = newCycle();
         IValidationDelegate delegate = newDelegate();
         ComponentEventInvoker invoker = org.easymock.classextension.EasyMock.createMock(ComponentEventInvoker.class);
-        
+
         MockForm form = new MockForm(delegate, l);
 
         trainIsRewound(cycle, form, true);
@@ -1027,28 +1009,26 @@
         final IFormComponent barney1 = newFormComponent("barney", "barney");
         final IFormComponent wilma = newFormComponent("wilma", "wilma");
 
-        IRender body = newComponentsRenderBody(fs, new IFormComponent[] { barney1, wilma }, writer);
+        IRender body = newComponentsRenderBody(fs, new IFormComponent[]{barney1, wilma}, writer);
 
         form.setBody(body);
         form.setEventInvoker(invoker);
-        
+
         trainExtractBrowserEvent(cycle);
         expect(cycle.getParameter(BrowserEvent.METHOD_ARGUMENTS)).andReturn("null");
-        
+
         invoker.invokeFormListeners(eq(fs), eq(cycle), isA(BrowserEvent.class));
-        
+
         replay();
 
-        try
-        {
+        try {
             fs.rewind();
             unreachable();
         }
-        catch (StaleLinkException ex)
-        {
+        catch (StaleLinkException ex) {
             assertEquals(
-                    "Rewind of form SomePage/myform expected 1 more form elements, starting with id 'barney$0'.",
-                    ex.getMessage());
+              "Rewind of form SomePage/myform expected 1 more form elements, starting with id 'barney$0'.",
+              ex.getMessage());
             assertSame(form, ex.getComponent());
             assertSame(l, ex.getLocation());
         }
@@ -1090,9 +1070,9 @@
         trainRegister(support, form, "myform");
 
         trainGetParameterNames(link, new String[]
-        { "service" });
+          {"service"});
         trainGetParameterValues(link, "service", new String[]
-        { "fred" });
+          {"fred"});
 
         trainGetNestedWriter(writer, nested);
 
@@ -1101,7 +1081,7 @@
         writer.begin("form");
         writer.attribute("method", "post");
         writer.attribute("action", "/app");
-        
+
         writer.attribute("id", "myform");
 
         render.render(writer, cycle);
@@ -1117,15 +1097,15 @@
         trainGetFocusField(delegate, "barney");
 
         expect(cycle.isFocusDisabled()).andReturn(false);
-        
+
         // Side test: check for another form already grabbing focus
 
         trainGetFieldFocus(cycle, null);
-        
+
         support.addInitializationScript(form, "dojo.require(\"tapestry.form\");tapestry.form.focusField('barney');");
-        
+
         cycle.setAttribute(FormSupportImpl.FIELD_FOCUS_ATTRIBUTE, Boolean.TRUE);
-        
+
         replay();
 
         fs.render("post", render, link, null, null);
@@ -1158,12 +1138,10 @@
 
         verify();
 
-        IRender body = new IRender()
-        {
+        IRender body = new IRender() {
             public void render(final IMarkupWriter pwriter, IRequestCycle pcycle)
             {
-                fs.addDeferredRunnable(new Runnable()
-                {
+                fs.addDeferredRunnable(new Runnable() {
 
                     public void run()
                     {
@@ -1174,26 +1152,26 @@
             }
 
         };
-        
+
         form.setBody(body);
 
         trainRegister(support, form, "myform");
 
         trainGetParameterNames(link, new String[]
-        { "service" });
+          {"service"});
         trainGetParameterValues(link, "service", new String[]
-        { "fred" });
+          {"fred"});
 
         trainGetNestedWriter(writer, nested);
-        
+
         nested.print("DEFERRED");
-        
+
         trainGetURL(link, null, "/app");
 
         writer.begin("form");
         writer.attribute("method", "post");
         writer.attribute("action", "/app");
-        
+
         writer.attribute("id", "myform");
 
         render.render(writer, cycle);
@@ -1201,7 +1179,7 @@
         writer.println();
 
         trainHiddenBlock(cycle, builder, writer, form, "fred", "");
-        
+
         nested.close();
 
         writer.end();
@@ -1209,7 +1187,7 @@
         trainGetFocusField(delegate, null);
 
         expect(cycle.isFocusDisabled()).andReturn(false);
-        
+
         replay();
 
         fs.render("post", render, link, null, null);
@@ -1227,19 +1205,19 @@
         IValidationDelegate delegate = newDelegate();
         ILink link = newLink();
         IRender render = newRender();
-        
+
         MockForm form = new MockForm(delegate);
-        
+
         trainIsRewound(cycle, form, false);
 
         PageRenderSupport support = newPageRenderSupport();
 
         trainGetPageRenderSupport(cycle, support);
-        
+
         replay();
-        
+
         final FormSupport fs = factory.createFormSupport(writer, cycle, form);
-        
+
         verify();
 
         final IFormComponent component = newFormComponent("barney", "barney");
@@ -1251,9 +1229,9 @@
         trainRegister(support, form, "myform");
 
         trainGetParameterNames(link, new String[]
-        { "service" });
+          {"service"});
         trainGetParameterValues(link, "service", new String[]
-        { "fred" });
+          {"fred"});
 
         trainGetNestedWriter(writer, nested);
 
@@ -1262,7 +1240,7 @@
         writer.begin("form");
         writer.attribute("method", "post");
         writer.attribute("action", "https://foo.bar/app");
-        
+
         writer.attribute("id", "myform");
 
         render.render(writer, cycle);
@@ -1274,19 +1252,19 @@
         nested.close();
 
         writer.end();
-        
+
         trainGetFocusField(delegate, "barney");
-        
+
         expect(cycle.isFocusDisabled()).andReturn(false);
-        
+
         // Side test: check for another form already grabbing focus
-        
+
         trainGetFieldFocus(cycle, Boolean.TRUE);
-        
+
         // support.addInitializationScript(form, "tapestry.form.focusField('barney');");
-        
+
         // cycle.setAttribute(FormSupportImpl.FIELD_FOCUS_ATTRIBUTE, true);
-        
+
         replay();
 
         fs.render("post", render, link, "https", new Integer(443));
@@ -1301,9 +1279,9 @@
         IRequestCycle cycle = newCycle();
         IValidationDelegate delegate = newDelegate();
         MockForm form = new MockForm(delegate);
-        ComponentEventInvoker invoker = 
-            org.easymock.classextension.EasyMock.createMock(ComponentEventInvoker.class);
-        
+        ComponentEventInvoker invoker =
+          org.easymock.classextension.EasyMock.createMock(ComponentEventInvoker.class);
+
         trainIsRewound(cycle, form, true);
 
         trainGetPageRenderSupport(cycle, null);
@@ -1324,12 +1302,12 @@
 
         form.setBody(body);
         form.setEventInvoker(invoker);
-        
+
         trainExtractBrowserEvent(cycle);
         expect(cycle.getParameter(BrowserEvent.METHOD_ARGUMENTS)).andReturn("null");
-        
+
         invoker.invokeFormListeners(eq(fs), eq(cycle), isA(BrowserEvent.class));
-        
+
         replay();
 
         assertEquals(FormConstants.SUBMIT_NORMAL, fs.rewind());
@@ -1344,9 +1322,9 @@
         IRequestCycle cycle = newCycle();
         IValidationDelegate delegate = newDelegate();
         MockForm form = new MockForm(delegate);
-        ComponentEventInvoker invoker = 
-            org.easymock.classextension.EasyMock.createMock(ComponentEventInvoker.class);
-        
+        ComponentEventInvoker invoker =
+          org.easymock.classextension.EasyMock.createMock(ComponentEventInvoker.class);
+
         trainIsRewound(cycle, form, true);
 
         trainGetPageRenderSupport(cycle, null);
@@ -1362,20 +1340,18 @@
         trainCycleForRewind(cycle, "", null);
         trainExtractBrowserEvent(cycle);
         expect(cycle.getParameter(BrowserEvent.METHOD_ARGUMENTS)).andReturn("null");
-        
+
         writer.print("DEFERRED");
-        
+
         invoker.invokeFormListeners(eq(fs), eq(cycle), isA(BrowserEvent.class));
-        
+
         replay();
 
-        IRender body = new IRender()
-        {
+        IRender body = new IRender() {
 
             public void render(final IMarkupWriter pwriter, IRequestCycle pcycle)
             {
-                fs.addDeferredRunnable(new Runnable()
-                {
+                fs.addDeferredRunnable(new Runnable() {
                     public void run()
                     {
                         pwriter.print("DEFERRED");
@@ -1388,7 +1364,7 @@
 
         form.setBody(body);
         form.setEventInvoker(invoker);
-        
+
         assertEquals(FormConstants.SUBMIT_NORMAL, fs.rewind());
 
         verify();
@@ -1418,37 +1394,36 @@
         final FormSupport fs = factory.createFormSupport(writer, cycle, form);
 
         verify();
-        
+
         trainRegister(support, form, "myform");
-        
+
         trainGetParameterNames(link, new String[]
-        { "service" });
+          {"service"});
         trainGetParameterValues(link, "service", new String[]
-        { "fred" });
-        
+          {"fred"});
+
         trainGetNestedWriter(writer, nested);
-        
+
         trainGetURL(link, null, "/app");
 
         writer.begin("form");
         writer.attribute("method", "post");
         writer.attribute("action", "/app");
-        
+
         writer.attribute("id", "myform");
-        
-        form.setBody(new IRender()
-        {
+
+        form.setBody(new IRender() {
             public void render(IMarkupWriter pwriter, IRequestCycle pcycle)
             {
                 fs.addEventHandler(FormEventType.SUBMIT, "mySubmit()");
             }
         });
-        
+
         support.addInitializationScript(form, "Tapestry.onsubmit('myform', function (event)"
-                + "\n{\n  mySubmit();\n});\n");
-        
+                                              + "\n{\n  mySubmit();\n});\n");
+
         render.render(writer, cycle);
-        
+
         writer.println();
 
         trainHiddenBlock(cycle, builder, writer, form, "fred", "");
@@ -1460,7 +1435,7 @@
         trainGetFocusField(delegate, null);
 
         expect(cycle.isFocusDisabled()).andReturn(false);
-        
+
         replay();
 
         fs.render("post", render, link, null, null);
@@ -1474,7 +1449,7 @@
     }
 
     private void trainCycleForRewind(IRequestCycle cycle, String submitMode, String allocatedIds,
-            String reservedIds)
+                                     String reservedIds)
     {
         trainGetParameter(cycle, FormSupportImpl.SUBMIT_MODE, submitMode);
         trainGetParameter(cycle, FormSupportImpl.FORM_IDS, allocatedIds);
@@ -1504,10 +1479,10 @@
 
         expect(link.getURL(scheme, null, port, null, false)).andReturn(URL);
     }
-    
+
     private void trainGetURL(ILink link, String scheme, String URL)
     {
-    	trainGetURL(link, scheme, URL, 0);
+        trainGetURL(link, scheme, URL, 0);
     }
 
     private void trainHidden(IMarkupWriter writer, String name, String value)
@@ -1530,15 +1505,15 @@
     }
 
     protected void trainHiddenBlock(IRequestCycle cycle, ResponseBuilder builder,
-            IMarkupWriter writer, IForm form, 
-            String serviceName, String formIds)
+                                    IMarkupWriter writer, IForm form,
+                                    String serviceName, String formIds)
     {
         expect(cycle.getResponseBuilder()).andReturn(builder);
-        
+
         expect(builder.contains(form)).andReturn(false);
-        
+
         trainDiv(writer, form);
-        
+
         trainHidden(writer, "formids", formIds);
         trainHidden(writer, "service", serviceName);
         trainHidden(writer, "submitmode", "");
@@ -1555,6 +1530,6 @@
     private void trainRegister(PageRenderSupport support, IForm form, String formId)
     {
         support.addInitializationScript(form, "dojo.require(\"tapestry.form\");"
-                + "tapestry.form.registerForm(\"" + formId + "\");");
+                                              + "tapestry.form.registerForm(\"" + formId + "\");");
     }
 }

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/MockForm.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/MockForm.java?view=diff&rev=557457&r1=557456&r2=557457
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/MockForm.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/MockForm.java Wed Jul 18 19:21:09 2007
@@ -14,25 +14,9 @@
 
 package org.apache.tapestry.form;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.hivemind.Location;
 import org.apache.hivemind.Messages;
-import org.apache.tapestry.IAsset;
-import org.apache.tapestry.IBeanProvider;
-import org.apache.tapestry.IBinding;
-import org.apache.tapestry.IComponent;
-import org.apache.tapestry.IForm;
-import org.apache.tapestry.IMarkupWriter;
-import org.apache.tapestry.INamespace;
-import org.apache.tapestry.IPage;
-import org.apache.tapestry.IRender;
-import org.apache.tapestry.IRequestCycle;
+import org.apache.tapestry.*;
 import org.apache.tapestry.engine.IPageLoader;
 import org.apache.tapestry.internal.event.IComponentEventInvoker;
 import org.apache.tapestry.json.JSONObject;
@@ -41,6 +25,8 @@
 import org.apache.tapestry.spec.IContainedComponent;
 import org.apache.tapestry.valid.IValidationDelegate;
 
+import java.util.*;
+
 /**
  * Mock object used by the {@link org.apache.tapestry.form.FormSupportTest}.
  * 
@@ -481,5 +467,9 @@
     {
         return null;
     }
-    
+
+    public boolean wasPrerendered(IComponent field)
+    {
+        return false;
+    }
 }

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/DojoAjaxResponseBuilderTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/DojoAjaxResponseBuilderTest.java?view=diff&rev=557457&r1=557456&r2=557457
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/DojoAjaxResponseBuilderTest.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/DojoAjaxResponseBuilderTest.java Wed Jul 18 19:21:09 2007
@@ -144,11 +144,8 @@
         render.render(NullWriter.getSharedInstance(), cycle);
 
         expect(comp1.getClientId()).andReturn("id1").anyTimes();
-
         expect(comp1.peekClientId()).andReturn("id1").anyTimes();
-
         expect(cycle.getInfrastructure()).andReturn(infra);
-
         expect(infra.getOutputEncoding()).andReturn("UTF-8");
 
         writer.printRaw("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
@@ -200,7 +197,7 @@
         parts.add("id1");
 
         DojoAjaxResponseBuilder builder =
-                new DojoAjaxResponseBuilder(cycle, rlm, mrs, resp, errorPages, assetFactory, "", pageService);
+          new DojoAjaxResponseBuilder(cycle, rlm, mrs, resp, errorPages, assetFactory, "", pageService);
 
         expect(page.getPageName()).andReturn("RequestPage").anyTimes();
         expect(cycle.getParameter(ServiceConstants.PAGE)).andReturn("RequestPage").anyTimes();
@@ -265,7 +262,7 @@
     private static final String NEWLINE = System.getProperty("line.separator");
 
     public void test_Render_Response_Already_Started()
-            throws IOException
+      throws IOException
     {
         IPage page = newMock(IPage.class);
         checkOrder(page, false);
@@ -276,7 +273,7 @@
 
         ILink link = newMock(ILink.class);
         Location l = newLocation();
-        
+
         RequestLocaleManager rlm = newMock(RequestLocaleManager.class);
         MarkupWriterSource mrs = newMock(MarkupWriterSource.class);
         WebResponse resp = newMock(WebResponse.class);
@@ -303,11 +300,11 @@
         expect(page.getLocation()).andReturn(l);
         expect(cycle.getAttribute(TapestryUtils.PAGE_RENDER_SUPPORT_ATTRIBUTE)).andReturn(null);
         cycle.setAttribute(eq(TapestryUtils.PAGE_RENDER_SUPPORT_ATTRIBUTE), isA(PageRenderSupport.class));
-        
+
         cycle.renderPage(builder);
         // only done to simulate a caught internal stale link / other exception that would cause a new renderPage() request 
         expectLastCall().andThrow(new RedirectException("redir"));
-        
+
         cycle.renderPage(builder);
         cycle.removeAttribute(TapestryUtils.PAGE_RENDER_SUPPORT_ATTRIBUTE);
 
@@ -322,7 +319,7 @@
             IMarkupWriter fakeWriter = builder.getComponentWriter("fakeComp");
             fakeWriter.beginEmpty("div");
             fakeWriter.attribute("id", "fakeComp");
-            
+
             builder.renderResponse(cycle);
         }
 

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/valid/FieldLabelTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/valid/FieldLabelTest.java?view=diff&rev=557457&r1=557456&r2=557457
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/valid/FieldLabelTest.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/valid/FieldLabelTest.java Wed Jul 18 19:21:09 2007
@@ -14,9 +14,6 @@
 
 package org.apache.tapestry.valid;
 
-import static org.easymock.EasyMock.checkOrder;
-import static org.easymock.EasyMock.expect;
-
 import org.apache.hivemind.Location;
 import org.apache.tapestry.BindingException;
 import org.apache.tapestry.IForm;
@@ -24,11 +21,13 @@
 import org.apache.tapestry.IRequestCycle;
 import org.apache.tapestry.form.BaseFormComponentTestCase;
 import org.apache.tapestry.form.IFormComponent;
+import static org.easymock.EasyMock.checkOrder;
+import static org.easymock.EasyMock.expect;
 import org.testng.annotations.Test;
 
 /**
  * Tests for the {@link org.apache.tapestry.valid.FieldLabel} component.
- * 
+ *
  * @author Howard M. Lewis Ship
  * @since 4.0
  */
@@ -39,7 +38,7 @@
     {
         IForm form = newMock(IForm.class);
         checkOrder(form, false);
-        
+
         trainGetDelegate(delegate, form);
 
         return form;
@@ -49,14 +48,13 @@
     {
         expect(form.getDelegate()).andReturn(delegate);
     }
-    
+
     private IFormComponent newField(String displayName, String clientId)
     {
         IFormComponent field = newMock(IFormComponent.class);
         checkOrder(field, false);
-        
-        trainGetDisplayName(field, displayName);
 
+        trainGetDisplayName(field, displayName);
         trainGetClientId(clientId, field);
 
         return field;
@@ -72,27 +70,24 @@
         expect(field.getDisplayName()).andReturn(displayName).anyTimes();
     }
 
-    public void testRewinding()
+    public void test_Rewinding()
     {
         Location l = newLocation();
         IMarkupWriter writer = newWriter();
         IRequestCycle cycle = newCycle();
         IForm form = newForm();
         IFormComponent field = newField();
-        
-        FieldLabel fl = newInstance(FieldLabel.class, 
-                new Object[] { "field", field, "location", l, "prerender", true });
-        
+
+        FieldLabel fl = newInstance(FieldLabel.class, "field", field,
+                                    "location", l, "prerender", true);
+
         expect(cycle.renderStackPush(fl)).andReturn(fl);
-        
         trainGetForm(cycle, form);
-
         form.prerenderField(writer, field, l);
-
         trainIsRewinding(cycle, true);
 
         expect(cycle.renderStackPop()).andReturn(fl);
-        
+
         replay();
 
         fl.render(writer, cycle);
@@ -106,20 +101,20 @@
         IForm form = newForm(delegate);
         IMarkupWriter writer = newBufferWriter();
         IRequestCycle cycle = newCycle();
-        
-        FieldLabel fl = newInstance(FieldLabel.class, 
-                new Object[] { "displayName", "FredFlintstone" });
-        
+
+        FieldLabel fl = newInstance(FieldLabel.class,
+                                    new Object[] { "displayName", "FredFlintstone" });
+
         expect(cycle.renderStackPush(fl)).andReturn(fl);
-        
+
         trainGetForm(cycle, form);
-        
+
         trainIsRewinding(cycle, false);
-        
+
         expect(cycle.renderStackPop()).andReturn(fl);
-        
+
         replay();
-        
+
         fl.render(writer, cycle);
 
         assertBuffer("<label>{BEFORE-TEXT}FredFlintstone{AFTER-TEXT}</label>");
@@ -134,17 +129,16 @@
         IMarkupWriter writer = newBufferWriter();
         IRequestCycle cycle = newCycle();
 
-        FieldLabel fl = newInstance(FieldLabel.class, 
-                new Object[] { "displayName", "<b>FredFlintstone</b>", "raw", Boolean.TRUE });
-        
+        FieldLabel fl = newInstance(FieldLabel.class, "displayName", "<b>FredFlintstone</b>",
+                                    "raw", Boolean.TRUE);
+
         expect(cycle.renderStackPush(fl)).andReturn(fl);
-        
-        trainGetForm(cycle, form);
 
+        trainGetForm(cycle, form);
         trainIsRewinding(cycle, false);
-        
+
         expect(cycle.renderStackPop()).andReturn(fl);
-        
+
         replay();
 
         fl.render(writer, cycle);
@@ -153,26 +147,24 @@
 
         verify();
     }
-    
-    public void testNoFieldOrDisplayName()
+
+    public void test_No_Field_Or_DisplayName()
     {
         IForm form = newForm();
         IMarkupWriter writer = newWriter();
         IRequestCycle cycle = newCycle();
-        
-        FieldLabel fl = newInstance(FieldLabel.class, 
-                new Object[] { "id", "label"});
-        
+
+        FieldLabel fl = newInstance(FieldLabel.class, new Object[] {"id", "label"});
+
         expect(cycle.renderStackPush(fl)).andReturn(fl);
-        
+
         trainGetForm(cycle, form);
-        
         trainIsRewinding(cycle, false);
-        
+
         expect(cycle.renderStackPop()).andReturn(fl);
-        
+
         replay();
-        
+
         try
         {
             fl.render(writer, cycle);
@@ -181,14 +173,14 @@
         catch (BindingException ex)
         {
             assertEquals("Value for parameter 'field' in component "
-                    + "null is null, and a non-null value is required.",
-                    ex.getMessage());
+                         + "null is null, and a non-null value is required.",
+                         ex.getMessage());
         }
 
         verify();
     }
-    
-    public void testDisplayNameFromField()
+
+    public void test_Display_Name_From_Field()
     {
         IValidationDelegate delegate = new MockDelegate();
 
@@ -197,24 +189,22 @@
         IMarkupWriter writer = newBufferWriter();
         IFormComponent field = newField("MyLabel", null);
         Location l = newLocation();
-        
+
         IRequestCycle cycle = newCycle();
 
-        FieldLabel fl = newInstance(FieldLabel.class, 
-                new Object[] { "location", l, "field", field, "prerender", true });
-        
+        FieldLabel fl = newInstance(FieldLabel.class, "location", l,
+                                    "field", field, "prerender", true);
+
         expect(cycle.renderStackPush(fl)).andReturn(fl);
-        
-        trainGetForm(cycle, form);
 
+        trainGetForm(cycle, form);
         trainIsRewinding(cycle, false);
 
         form.prerenderField(writer, field, l);
-
         trainGetDelegate(form, delegate);
 
         expect(cycle.renderStackPop()).andReturn(fl);
-        
+
         replay();
 
         fl.render(writer, cycle);
@@ -223,8 +213,8 @@
 
         verify();
     }
-    
-    public void testPrerenderOff()
+
+    public void test_Prerender_Off()
     {
         IValidationDelegate delegate = new MockDelegate();
 
@@ -235,20 +225,17 @@
         Location l = newLocation();
 
         IRequestCycle cycle = newCycle();
-        
-        FieldLabel fl = newInstance(FieldLabel.class, 
-                new Object[] { "location", l, "field", field });
-        
+
+        FieldLabel fl = newInstance(FieldLabel.class, "location", l, "field", field);
+
         expect(cycle.renderStackPush(fl)).andReturn(fl);
-        
-        trainGetForm(cycle, form);
 
+        trainGetForm(cycle, form);
         trainIsRewinding(cycle, false);
-        
         trainGetDelegate(form, delegate);
 
         expect(cycle.renderStackPop()).andReturn(fl);
-        
+
         replay();
 
         fl.render(writer, cycle);
@@ -263,30 +250,27 @@
         IValidationDelegate delegate = new MockDelegate();
 
         IForm form = newForm();
-        
+
         IMarkupWriter writer = newBufferWriter();
-        
+
         Location l = newLocation();
-        
+
         IRequestCycle cycle = newCycle();
-        
+
         IFormComponent field = newField("MyLabel", "clientId");
         
-        FieldLabel fl = newInstance(FieldLabel.class, 
-                new Object[] { "location", l, "field", field, "prerender", true });
-        
+        FieldLabel fl = newInstance(FieldLabel.class, "location", l,
+                                    "field", field, "prerender", true);
+
         expect(cycle.renderStackPush(fl)).andReturn(fl);
-        
+
         trainGetForm(cycle, form);
-        
         form.prerenderField(writer, field, l);
-        
         trainIsRewinding(cycle, false);
-        
         trainGetDelegate(form, delegate);
-        
+
         expect(cycle.renderStackPop()).andReturn(fl);
-        
+
         replay();
 
         fl.render(writer, cycle);
@@ -295,36 +279,31 @@
 
         verify();
     }
-    
-    public void testNoDisplayNameInField()
+
+    public void test_No_Display_Name_In_Field()
     {
         IForm form = newForm();
         IMarkupWriter writer = newBufferWriter();
         IFormComponent field = newField();
         Location l = newLocation();
-        
+
         IRequestCycle cycle = newCycle();
-        
-        FieldLabel fl = newInstance(FieldLabel.class, 
-                new Object[] { "id", "label", 
-            "location", l, 
-            "field", field, 
-            "prerender", true });
-        
+
+        FieldLabel fl = newInstance(FieldLabel.class, "id", "label",
+                                    "location", l,
+                                    "field", field,
+                                    "prerender", true);
+
         expect(cycle.renderStackPush(fl)).andReturn(fl);
-        
+
         trainGetForm(cycle, form);
-        
         form.prerenderField(writer, field, l);
-        
         trainIsRewinding(cycle, false);
-        
         trainGetDisplayName(field, null);
-        
         trainGetExtendedId(field, "Fred/field");
-        
+
         expect(cycle.renderStackPop()).andReturn(fl);
-        
+
         replay();
 
         try
@@ -335,8 +314,8 @@
         catch (BindingException ex)
         {
             assertEquals(
-                    "Display name for null was not specified and was not provided by field Fred/field.",
-                    ex.getMessage());
+              "Display name for null was not specified and was not provided by field Fred/field.",
+              ex.getMessage());
         }
 
         verify();