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 2006/07/27 06:04:37 UTC
svn commit: r425949 - in /tapestry/tapestry4/trunk/tapestry-framework/src:
java/org/apache/tapestry/form/FormSupportImpl.java
test/org/apache/tapestry/form/FormSupportTest.java
Author: jkuhnert
Date: Wed Jul 26 21:04:36 2006
New Revision: 425949
URL: http://svn.apache.org/viewvc?rev=425949&view=rev
Log:
The agony. I can't believe I let such a huge bug through the cracks. Must've been all of that easymock refactoring.
Modified:
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java
tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/form/FormSupportTest.java
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?rev=425949&r1=425948&r2=425949&view=diff
==============================================================================
--- 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 26 21:04:36 2006
@@ -526,14 +526,15 @@
_writer.end();
String fieldId = _delegate.getFocusField();
-
- if (fieldId == null || _pageRenderSupport == null)
+
+ if (_pageRenderSupport == null)
return;
-
+
// If the form doesn't support focus, or the focus has already been set by a different form,
// then do nothing.
-
- if (_form.getFocus() && _cycle.getAttribute(FIELD_FOCUS_ATTRIBUTE) != null) {
+
+ if (fieldId != null && _form.getFocus()
+ && _cycle.getAttribute(FIELD_FOCUS_ATTRIBUTE) != null) {
_pageRenderSupport.addInitializationScript(_form, "tapestry.form.focusField('" + fieldId + "');");
_cycle.setAttribute(FIELD_FOCUS_ATTRIBUTE, Boolean.TRUE);
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?rev=425949&r1=425948&r2=425949&view=diff
==============================================================================
--- 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 26 21:04:36 2006
@@ -156,7 +156,7 @@
MockForm form = new MockForm(delegate);
trainIsRewound(cycle, form, false);
-
+
PageRenderSupport support = newPageRenderSupport();
trainGetPageRenderSupport(cycle, support);
@@ -202,14 +202,13 @@
nested.close();
writer.end();
-
+
trainGetFocusField(delegate, "wilma");
+
+ // effectively means someone else has already claimed focus
+
trainGetFieldFocus(cycle, null);
- trainFocus(support, form);
-
- trainSetFieldFocus(cycle);
-
replay();
fs.render("post", render, link, null, null);
@@ -1049,7 +1048,11 @@
// 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, Boolean.TRUE);
+
replay();
fs.render("post", render, link, null, null);
@@ -1198,7 +1201,11 @@
// 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));
@@ -1393,11 +1400,6 @@
writer.attribute("id", form.getName() + "hidden");
}
- private void trainFocus(PageRenderSupport support, IForm form)
- {
- support.addInitializationScript(form, "tapestry.form.focusField('wilma');");
- }
-
private void trainGetFieldFocus(IRequestCycle cycle, Object value)
{
expect(cycle.getAttribute(FormSupportImpl.FIELD_FOCUS_ATTRIBUTE)).andReturn(value);
@@ -1461,9 +1463,4 @@
support.addInitializationScript(form, "dojo.require(\"tapestry.form\");"
+ "tapestry.form.registerForm('" + formId + "');");
}
-
- private void trainSetFieldFocus(IRequestCycle cycle)
- {
- cycle.setAttribute(FormSupportImpl.FIELD_FOCUS_ATTRIBUTE, Boolean.TRUE);
- }
-}
\ No newline at end of file
+}