Revision: 698
http://svn.sourceforge.net/jwebunit/?rev=698&view=rev
Author: henryju
Date: 2007-05-05 10:53:20 -0700 (Sat, 05 May 2007)
Log Message:
-----------
[Issue 1708229,1710809,1712633] Fix getFormWithInput to deal with the current
working form if already set.
Modified Paths:
--------------
branches/jwebunit-1.4.x/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/FormAssertionsTest.java
branches/jwebunit-1.4.x/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/FormSubmissionTest.java
branches/jwebunit-1.4.x/jwebunit-commons-tests/src/main/resources/testcases/FormSubmissionTest/MultiFormPage.html
branches/jwebunit-1.4.x/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitDialog.java
branches/jwebunit-1.4.x/src/changes/changes.xml
Modified:
branches/jwebunit-1.4.x/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/FormAssertionsTest.java
===================================================================
---
branches/jwebunit-1.4.x/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/FormAssertionsTest.java
2007-05-05 17:51:21 UTC (rev 697)
+++
branches/jwebunit-1.4.x/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/FormAssertionsTest.java
2007-05-05 17:53:20 UTC (rev 698)
@@ -57,17 +57,19 @@
public void testAssertFormElementEquals() throws Throwable {
beginAt("/testPage.html");
- assertPass("assertTextFieldEquals", new Object[]{"testInputElement",
"testValue"});
+ assertPassFail("assertTextFieldEquals", new
Object[]{"testInputElement", "testValue"}, new Object[]{"testInputElement",
"noSuchValue"});
assertPass("assertSubmitButtonPresent", new Object[]{"submitButton",
"buttonLabel"});
+ setWorkingForm("form5");
assertPass("assertTextFieldEquals", new Object[]{"textarea",
"sometexthere"});
+ setWorkingForm("form3");
assertPass("assertRadioOptionSelected", new Object[]{"cool", "dog"});
- assertPass("assertHiddenFieldPresent", new Object[]{"hiddenelement",
"hiddenvalue"});
- assertFail("assertTextFieldEquals", new Object[]{"testInputElement",
"noSuchValue"});
+ setWorkingForm("form5");
+ assertPassFail("assertHiddenFieldPresent", new
Object[]{"hiddenelement", "hiddenvalue"}, new Object[]{"hiddenelement",
"notThisValue"});
+ setWorkingForm("form1");
assertFail("assertTextFieldEquals", new Object[]{"noSuchElement",
"testValue"});
assertFail("assertHiddenFieldPresent", new Object[]{"noSuchElement",
"testValue"});
- assertFail("assertHiddenFieldPresent", new Object[]{"hiddenelement",
"notThisValue"});
- assertFail("assertTextFieldEquals", new Object[]{"passwordelement",
"noSuchValue"});
- assertPass("assertTextFieldEquals", new Object[]{"passwordelement",
"password"});
+ setWorkingForm("form5");
+ assertPassFail("assertTextFieldEquals", new
Object[]{"passwordelement", "password"}, new Object[]{"passwordelement",
"noSuchValue"});
}
public void testCheckboxSelected() throws Throwable {
Modified:
branches/jwebunit-1.4.x/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/FormSubmissionTest.java
===================================================================
---
branches/jwebunit-1.4.x/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/FormSubmissionTest.java
2007-05-05 17:51:21 UTC (rev 697)
+++
branches/jwebunit-1.4.x/jwebunit-commons-tests/src/main/java/net/sourceforge/jwebunit/tests/FormSubmissionTest.java
2007-05-05 17:53:20 UTC (rev 698)
@@ -197,6 +197,24 @@
assertTextPresent("param2=anyvalue");
}
+ public void testTextFieldSetOnMultiFormWithSameName() {
+ beginAt("/MultiFormPage.html");
+ setWorkingForm("form2");
+ setTextField("param2", "foo");
+ setTextField("email", "anyvalue");
+ submit();
+ assertTextPresent("email=anyvalue");
+ assertTextPresent("param2=foo");
+ closeBrowser();
+ beginAt("/MultiFormPage.html");
+ setWorkingForm("form3");
+ setTextField("param3", "foo");
+ setTextField("email", "anyvalue");
+ submit();
+ assertTextPresent("param3=foo");
+ assertTextPresent("email=anyvalue");
+ }
+
public void testSetWorkingFormById() {
beginAt("/MultiFormPage.html");
setWorkingForm("form5");
Modified:
branches/jwebunit-1.4.x/jwebunit-commons-tests/src/main/resources/testcases/FormSubmissionTest/MultiFormPage.html
===================================================================
---
branches/jwebunit-1.4.x/jwebunit-commons-tests/src/main/resources/testcases/FormSubmissionTest/MultiFormPage.html
2007-05-05 17:51:21 UTC (rev 697)
+++
branches/jwebunit-1.4.x/jwebunit-commons-tests/src/main/resources/testcases/FormSubmissionTest/MultiFormPage.html
2007-05-05 17:53:20 UTC (rev 698)
@@ -10,6 +10,7 @@
<form name="form2" method=GET action="../params.jsp">
<input type="text" name="param2">
+ <input type="text" name="email">
<input type="reset">
<input type="submit" name="button2a" value="b2a">
<input type="submit" name="button2b" value="b2b">
@@ -18,6 +19,7 @@
<form name="form3" method=GET action="../params.jsp">
<input type="text" name="param3">
+ <input type="text" name="email">
<input type="submit">
<input type="hidden" name="myReferer"
value="FormSubmissionTest/MultiFormPage.html">
</form>
Modified:
branches/jwebunit-1.4.x/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitDialog.java
===================================================================
---
branches/jwebunit-1.4.x/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitDialog.java
2007-05-05 17:51:21 UTC (rev 697)
+++
branches/jwebunit-1.4.x/jwebunit-htmlunit-plugin/src/main/java/net/sourceforge/jwebunit/htmlunit/HtmlUnitDialog.java
2007-05-05 17:53:20 UTC (rev 698)
@@ -897,21 +897,32 @@
}
private HtmlForm getFormWithInput(String inputName) {
- if (hasForm()) {
- for (int i = 0; i < getForms().size(); i++) {
- HtmlForm form = (HtmlForm) getForms().get(i);
- List inputElements = form.getHtmlElementsByAttribute("input",
- "name", inputName);
- if (inputElements.isEmpty()) {
- inputElements = form.getTextAreasByName(inputName);
- }
- if (!inputElements.isEmpty()) {
- setWorkingForm(form);
- return form;
- }
- }
- }
- return null;
+ // Search in Working form if available
+ if (form != null) {
+ if (!form.getHtmlElementsByAttribute("input",
+ "name", inputName).isEmpty()) {
+ return form;
+ }
+ if (!form.getTextAreasByName(inputName).isEmpty()) {
+ return form;
+ }
+ } else {
+ if (hasForm()) {
+ for (int i = 0; i < getForms().size(); i++) {
+ HtmlForm form = (HtmlForm) getForms().get(i);
+ List inputElements =
form.getHtmlElementsByAttribute("input",
+ "name", inputName);
+ if (inputElements.isEmpty()) {
+ inputElements =
form.getTextAreasByName(inputName);
+ }
+ if (!inputElements.isEmpty()) {
+ setWorkingForm(form);
+ return form;
+ }
+ }
+ }
+ }
+ return null;
}
private HtmlForm getFormWithSelect(String selectName) {
Modified: branches/jwebunit-1.4.x/src/changes/changes.xml
===================================================================
--- branches/jwebunit-1.4.x/src/changes/changes.xml 2007-05-05 17:51:21 UTC
(rev 697)
+++ branches/jwebunit-1.4.x/src/changes/changes.xml 2007-05-05 17:53:20 UTC
(rev 698)
@@ -7,6 +7,13 @@
</author>
</properties>
<body>
+ <release version="1.4.1" date="UNKNOW">
+ <action type="fix" dev="Julien Henry"
issue="1708229,1710809,1712633" due-to="Jon,Joe Fisher">
+ setTextField now doesn't change the current working form if
already set.
+ clickRadioOption now doesn't change the current working form
if already set.
+ assertFormElementPresent now only searches the current working
form if already set.
+ </action>
+ </release>
<release version="1.4" date="march 17, 2007">
<action type="update" dev="Julien Henry">
Update to HtmlUnit 1.11.
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
JWebUnit-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jwebunit-development