Author: hlship
Date: Thu Feb 28 14:42:41 2008
New Revision: 632146

URL: http://svn.apache.org/viewvc?rev=632146&view=rev
Log:
TAPESTRY-1650: Add support for injecting (via Ajax) new content into an 
existing client-side form

Modified:
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/components/FormInjector.java
    
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/IntegrationTests.java

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/components/FormInjector.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/components/FormInjector.java?rev=632146&r1=632145&r2=632146&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/components/FormInjector.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry/corelib/components/FormInjector.java
 Thu Feb 28 14:42:41 2008
@@ -163,6 +163,7 @@
                 }
 
                 _environment.pop(ValidationTracker.class);
+                
                 FormSupportImpl formSupport = (FormSupportImpl) 
_environment.pop(FormSupport.class);
 
                 formSupport.executeDeferred();

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/IntegrationTests.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/IntegrationTests.java?rev=632146&r1=632145&r2=632146&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/IntegrationTests.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry/integration/IntegrationTests.java
 Thu Feb 28 14:42:41 2008
@@ -796,7 +796,7 @@
         // The lack of a leading slash indicates that the path was optimized, 
see TAPESTRY-1502
 
         assertAttributeSeries("//script[%d]/@src", 1, 
"assets/scriptaculous/prototype.js",
-                         "assets/scriptaculous/scriptaculous.js");
+                              "assets/scriptaculous/scriptaculous.js");
 
         clickAndWait("link=Clear Data");
 
@@ -1796,5 +1796,35 @@
         start("List Event Context Demo");
 
         assertTextSeries("//[EMAIL PROTECTED]'eventcontext']/li[%d]", 1, "1", 
"2", "3");
+    }
+
+    public void form_injector()
+    {
+        start("FormInjector Demo");
+
+        assertText("sum", "0.0");
+
+        click("link=Add a row");
+
+        sleep(500);
+
+        type("//[EMAIL PROTECTED]'text'][1]", "5.1");
+
+        // I wanted to add two rows, but Selenium didn't want to play.
+
+        clickAndWait(SUBMIT);
+
+        assertText("sum", "5.1");
+    }
+
+    private void sleep(long timeout)
+    {
+        try
+        {
+            Thread.sleep(timeout);
+        }
+        catch (InterruptedException ex)
+        {
+        }
     }
 }


Reply via email to