You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by an...@apache.org on 2007/11/18 18:09:18 UTC

svn commit: r596099 - in /tapestry/tapestry4/trunk/tapestry-framework/src: js/tapestry/form.js test/org/apache/tapestry/integration/TestBrowserIssues.java

Author: andyhot
Date: Sun Nov 18 09:09:18 2007
New Revision: 596099

URL: http://svn.apache.org/viewvc?rev=596099&view=rev
Log:
TAPESTRY-1775: fixes & tests

Modified:
    tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form.js
    tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/integration/TestBrowserIssues.java

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form.js?rev=596099&r1=596098&r2=596099&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form.js (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/tapestry/form.js Sun Nov 18 09:09:18 2007
@@ -279,9 +279,9 @@
 			return;
 		}
 		var id=form.getAttribute("id");
-		if (submitName){
-			form.submitname.value=submitName;
-		}
+        if (submitName){
+            form.submitname.value = submitName;
+        }
 
         if (!dj_undef("value", form.submitmode)
                 && (form.submitmode.value == "cancel" || form.submitmode.value == "refresh")
@@ -292,8 +292,8 @@
 
         if (!tapestry.form.validation.validateForm(form, this.forms[id])) {
 			return;
-		}
-		
+        }
+
 		if (parms && !dj_undef("async", parms) && parms.async) {
 			tapestry.form.submitAsync(form, null, submitName, parms);
 			return;
@@ -301,9 +301,9 @@
 			tapestry.form.submitAsync(form);
 			return;
 		}
-        
-        form.submit();
-	},
+
+            form.submit();
+    },
 	
 	/**
 	 * Function: cancel
@@ -329,7 +329,8 @@
         var formName=form.getAttribute("id");
         var validateState=tapestry.form.forms[formName].validateForm;
         tapestry.form.setFormValidating(formName, false);
-        
+
+        var previous = form.submitmode.value;
         form.submitmode.value="cancel";
 
         if (parms && !dj_undef("async", parms) && parms.async){
@@ -337,7 +338,8 @@
         } else {
             this.submit(form, submitName, parms);
         }
-        
+
+        form.submitmode.value = previous;
         tapestry.form.setFormValidating(formName, validateState);
 	},
 	
@@ -365,7 +367,8 @@
         var formName=form.getAttribute("id");
         var validateState=tapestry.form.forms[formName].validateForm;
         tapestry.form.setFormValidating(formName, false);
-        
+
+        var previous = form.submitmode.value;
         form.submitmode.value="refresh";
 
         if (parms && !dj_undef("async", parms) && parms.async){
@@ -373,7 +376,8 @@
         } else {
             this.submit(form, submitName, parms);
         }
-        
+
+        form.submitmode.value = previous;
         tapestry.form.setFormValidating(formName, validateState);
     },
 	
@@ -406,9 +410,10 @@
 			dojo.log.debug("Form validation failed for form with id " + formId);
 			return;
 		}
-		
-		if (submitName){
-			form.submitname.value=submitName;
+
+        if (submitName){
+            var previous = form.submitname.value;
+            form.submitname.value=submitName;
 			if(!content){ content={}; }
 			if(form[submitName]){
 				content[submitName]=form[submitName].value;
@@ -419,7 +424,8 @@
 		if (!dj_undef("clickedButton", this.forms[formId])) {
 			if (!content) { content={}; }
 			content[this.forms[formId].clickedButton.getAttribute("name")]=this.forms[formId].clickedButton.getAttribute("value");
-		}
+            delete this.forms[formId].clickedButton;
+        }
 
 		var kwArgs={
 			formNode:form,
@@ -446,7 +452,11 @@
 		}
 		tapestry.requestsInFlight++;
         dojo.io.queueBind(kwArgs);
-	}
+
+        if (submitName){
+            form.submitname.value = previous;
+        }
+    }
 }
 
 tapestry.form.validation={

Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/integration/TestBrowserIssues.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/integration/TestBrowserIssues.java?rev=596099&r1=596098&r2=596099&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/integration/TestBrowserIssues.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/integration/TestBrowserIssues.java Sun Nov 18 09:09:18 2007
@@ -131,9 +131,9 @@
 
         waitForInnerHTML("msg", "SECOND");
 
-        _selenium.click("first");
+        _selenium.click("nothing");
 
-        waitForInnerHTML("msg", "");        
+        waitForNodeToDisappear("msg");
     }
 
     public void test_issue_1775_b() throws Exception
@@ -175,6 +175,12 @@
     {
         _selenium.waitForCondition("selenium.browserbot.getCurrentWindow().document.getElementById('"
                 + elm + "').innerHTML=='" + content + "'","6000");                
+    }
+
+    private void waitForNodeToDisappear(String elm)
+    {
+        _selenium.waitForCondition("!selenium.browserbot.getCurrentWindow().document.getElementById('"
+                + elm + "')","6000");
     }
     
     private void submitFromTextfield(String field)