dev@javaserverfaces.java.net

Re: [REVIEW] jsf-demo tests

From: Roger Kitain <Roger.Kitain_at_Sun.COM>
Date: Mon, 06 Mar 2006 11:14:49 -0500

r=rogerk

Srini, you are cleared for checkin on the condition that all tests passed.
There was one small item missing from the change bundle -
the updated build.properties.glassfish/buld.properties.template files
with the htmlunit-1.8 reference - but I'll check these in .
I'll watch for your checkin.

Thanks, Roger.

Srinivasa Chatarjee Mylavarapu wrote:

>issue reference: https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=244
>
>
>------------------------------------------------------------------------
>
>
><< ADD DESCRIPTION HERE >>
>
>
>SECTION: Modified Files
>----------------------------
>M jsf-demo/build-tests.xml
>M jsf-demo/test/tests/com/sun/faces/demotest/components/TestComponents.java
>M jsf-demo/test/tests/com/sun/faces/demotest/guessNumber/TestGuessNumber.java
>M jsf-demo/test/tests/com/sun/faces/demotest/mappingTest/TestMapping.java
>M jsf-ri/systest/src/com/sun/faces/htmlunit/AbstractTestCase.java
>M jsf-ri/systest/src/com/sun/faces/jsptest/CommandLinkMultiFormTestCase.java
>M jsf-ri/systest/src/com/sun/faces/jsptest/PrependIdTestCase.java
>M jsf-ri/systest-per-webapp/command-link-back-button/src/java/com/sun/faces/systest/CommandLinkBackButtonTestCase.java
>
>
>SECTION: Diffs
>----------------------------
>Index: jsf-demo/build-tests.xml
>===================================================================
>RCS file: /cvs/javaserverfaces-sources/jsf-demo/build-tests.xml,v
>retrieving revision 1.20
>diff -u -r1.20 build-tests.xml
>--- jsf-demo/build-tests.xml 14 Dec 2005 22:27:15 -0000 1.20
>+++ jsf-demo/build-tests.xml 2 Mar 2006 07:22:49 -0000
>@@ -66,6 +66,7 @@
>
> <path id="run.classpath">
> <path refid="htmlunit.runtime.classpath"/>
>+ <pathelement location="${build}/classes"/>
> <!-- Include this to have access to the ResourceBundles for carstore -->
> <pathelement location="${basedir}/carstore/src"/>
> </path>
>@@ -94,9 +95,9 @@
> <attribute name="demo-war"/>
> <sequential>
> <undeploy.artifact artifact="@{demo-war}"
>- artifact-name="@{demo-name}"/>
>+ appName="@{demo-name}"/>
> <deploy.artifact artifact="@{demo-war}"
>- artifact-name="@{demo-name}"/>
>+ appName="@{demo-name}"/>
> <jsf.junit context-path="@{context-path}"
> classpath-refid="run.classpath"
> test-results-dir="${test.results.dir}">
>@@ -107,7 +108,7 @@
> </tests>
> </jsf.junit>
> <undeploy.artifact artifact="@{demo-war}"
>- artifact-name="@{demo-name}"/>
>+ appName="@{demo-name}"/>
> </sequential>
> </macrodef>
>
>Index: jsf-demo/test/tests/com/sun/faces/demotest/components/TestComponents.java
>===================================================================
>RCS file: /cvs/javaserverfaces-sources/jsf-demo/test/tests/com/sun/faces/demotest/components/TestComponents.java,v
>retrieving revision 1.19
>diff -u -r1.19 TestComponents.java
>--- jsf-demo/test/tests/com/sun/faces/demotest/components/TestComponents.java 14 Dec 2005 22:27:50 -0000 1.19
>+++ jsf-demo/test/tests/com/sun/faces/demotest/components/TestComponents.java 2 Mar 2006 07:22:51 -0000
>@@ -74,7 +74,7 @@
> String onClick = null;
> ScriptResult result = null;
> mapPage = accessAppAndGetPage("imagemap.faces");
>- form = (HtmlForm) mapPage.getAllForms().get(0);
>+ form = (HtmlForm) mapPage.getForms().get(0);
> map = (HtmlMap) form.getHtmlElementsByTagName("map").get(0);
>
> for (int i = 0, len = welcomeTexts.length; i < len; i++) {
>@@ -137,7 +137,7 @@
> protected HtmlPage executeTreeTest(HtmlPage page,
> String treeNum) throws Exception {
> HtmlAnchor anchor = null;
>- HtmlForm form = (HtmlForm) page.getAllForms().get(0);
>+ HtmlForm form = (HtmlForm) page.getForms().get(0);
> assertNotNull(form);
> HtmlHiddenInput hidden = null;
>
>@@ -226,7 +226,7 @@
> protected HtmlPage executeResultSet(HtmlPage page, String currentListNum,
> String newListNum) throws Exception {
> HtmlAnchor anchor = null;
>- HtmlForm form = (HtmlForm) page.getAllForms().get(0);
>+ HtmlForm form = (HtmlForm) page.getForms().get(0);
> assertNotNull(form);
> HtmlHiddenInput hidden1, hidden2 = null;
> // verify that clicking on the <newListNum> link causes the
>@@ -267,11 +267,11 @@
>
> protected HtmlPage executeTabbedPane(HtmlPage page, String buttonName)
> throws Exception {
>- HtmlForm form = (HtmlForm) page.getAllForms().get(0);
>+ HtmlForm form = (HtmlForm) page.getForms().get(0);
> assertNotNull(form);
> HtmlInput button = (HtmlInput) form.getInputByName(buttonName);
> page = (HtmlPage) button.click();
>- form = (HtmlForm) page.getAllForms().get(0);
>+ form = (HtmlForm) page.getForms().get(0);
> button = (HtmlInput) form.getInputByName(buttonName);
> assertTrue(button.getClassAttribute().equals("tabbed-selected"));
> return page;
>Index: jsf-demo/test/tests/com/sun/faces/demotest/guessNumber/TestGuessNumber.java
>===================================================================
>RCS file: /cvs/javaserverfaces-sources/jsf-demo/test/tests/com/sun/faces/demotest/guessNumber/TestGuessNumber.java,v
>retrieving revision 1.14
>diff -u -r1.14 TestGuessNumber.java
>--- jsf-demo/test/tests/com/sun/faces/demotest/guessNumber/TestGuessNumber.java 14 Dec 2005 22:27:51 -0000 1.14
>+++ jsf-demo/test/tests/com/sun/faces/demotest/guessNumber/TestGuessNumber.java 2 Mar 2006 07:22:51 -0000
>@@ -57,21 +57,25 @@
> for (int i = 1; i < 11; i++) {
>
> assertTrue(greetingPage.getTitleText().equals("Hello"));
>+ boolean foundImage = false;
> for (Iterator iter = greetingPage.getAllHtmlChildElements();
> iter.hasNext();) {
> HtmlElement element = (HtmlElement) iter.next();
> if (element.getTagName().equalsIgnoreCase("img")) {
>- assertTrue(element.getAttributeValue("id").equals(
>+ if (element.getAttributeValue("id").equals(
> "helloForm" +
> NamingContainer.SEPARATOR_CHAR +
>- "waveImg"));
>- assertTrue(stripJsessionInfo(
>- element.getAttributeValue("src"))
>- .equals("/jsf-guessNumber/wave.med.gif"));
>+ "waveImg")) {
>+ foundImage = true;
>+ assertTrue(stripJsessionInfo(
>+ element.getAttributeValue("src"))
>+ .equals("/jsf-guessNumber/wave.med.gif"));
>+ }
> }
> }
>+ assertTrue(foundImage);
>
>- List forms = greetingPage.getAllForms();
>+ List forms = greetingPage.getForms();
> assertTrue(forms != null);
> assertTrue(forms.size() == 1);
>
>@@ -94,6 +98,7 @@
>
> assertTrue(resultPage.getTitleText().equals("Guess The Number"));
>
>+ foundImage = false;
> for (Iterator iter = resultPage.getAllHtmlChildElements();
> iter.hasNext();) {
> HtmlElement element = (HtmlElement) iter.next();
>@@ -111,18 +116,21 @@
> break;
> }
> } else if (element.getTagName().equalsIgnoreCase("img")) {
>- assertTrue(element.getAttributeValue("id").equals(
>- "responseForm" +
>- NamingContainer.SEPARATOR_CHAR +
>- "waveImg"));
>- assertTrue(stripJsessionInfo(
>- element.getAttributeValue("src"))
>- .equals("/jsf-guessNumber/wave.med.gif"));
>+ if (element.getAttributeValue("id").equals(
>+ "responseForm" +
>+ NamingContainer.SEPARATOR_CHAR +
>+ "waveImg")) {
>+ foundImage = true;
>+ assertTrue(stripJsessionInfo(
>+ element.getAttributeValue("src"))
>+ .equals("/jsf-guessNumber/wave.med.gif"));
>+ }
> }
> }
>+ assertTrue(foundImage);
>
> // "click" the back button and submit a new guess
>- List forms1 = resultPage.getAllForms();
>+ List forms1 = resultPage.getForms();
> assertTrue(forms1 != null);
> assertTrue(forms1.size() == 1);
>
>@@ -153,7 +161,7 @@
> public void testGuessNumberNullInput() throws Exception {
> int numberFound = 0;
> HtmlPage greetingPage = accessAppAndGetGreetingJSP();
>- HtmlForm guessForm = (HtmlForm) greetingPage.getAllForms().get(0);
>+ HtmlForm guessForm = (HtmlForm) greetingPage.getForms().get(0);
> assertTrue(guessForm != null);
>
> HtmlPage resultPage = (HtmlPage) guessForm.submit(
>@@ -164,7 +172,7 @@
> iter.hasNext();) {
> HtmlElement element = (HtmlElement) iter.next();
> if (element.asText().trim()
>- .equals("Sorry, 0 is incorrect. Try a larger number.")) {
>+ .equals("Sorry, null is incorrect. Try a larger number.")) {
> numberFound++;
> System.out.println("Incorrect guess 'null'.");
> break;
>@@ -182,7 +190,7 @@
> public void testGuessNumberInvalidInputRange() throws Exception {
> boolean testFailed = false;
> HtmlPage greetingPage = accessAppAndGetGreetingJSP();
>- HtmlForm guessForm = (HtmlForm) greetingPage.getAllForms().get(0);
>+ HtmlForm guessForm = (HtmlForm) greetingPage.getForms().get(0);
> assertTrue(guessForm != null);
>
> HtmlTextInput input = (HtmlTextInput) guessForm.getInputByName(
>@@ -199,18 +207,21 @@
> {
> HtmlElement element = (HtmlElement) iter.next();
> if (element.getTagName().equalsIgnoreCase("span")) {
>- testFailed = true;
>- assertTrue(element.getAttributeValue("style").startsWith(
>+ if (element.getAttributeValue("id").equals("helloForm" +
>+ NamingContainer.SEPARATOR_CHAR + "errors1")) {
>+ testFailed = true;
>+ assertTrue(element.getAttributeValue("style").startsWith(
> "color: red;"));
>- assertTrue(
>- element.asText().trim().startsWith("Validation Error"));
>+ assertTrue(
>+ element.asText().trim().contains("Validation Error"));
>+ }
> }
> }
> // make sure validation error occurred
> assertTrue(testFailed == true);
> testFailed = false;
>
>- guessForm = (HtmlForm) failed.getAllForms().get(0);
>+ guessForm = (HtmlForm) failed.getForms().get(0);
> assertTrue(guessForm != null);
>
> input =
>@@ -229,11 +240,14 @@
> {
> HtmlElement element = (HtmlElement) iter.next();
> if (element.getTagName().equalsIgnoreCase("span")) {
>- testFailed = true;
>- assertTrue(element.getAttributeValue("style").startsWith(
>+ if (element.getAttributeValue("id").equals("helloForm" +
>+ NamingContainer.SEPARATOR_CHAR + "errors1")) {
>+ testFailed = true;
>+ assertTrue(element.getAttributeValue("style").startsWith(
> "color: red;"));
>- assertTrue(
>- element.asText().trim().startsWith("Validation Error"));
>+ assertTrue(
>+ element.asText().trim().contains("Validation Error"));
>+ }
> }
> }
> // make sure validation error occurred
>@@ -243,7 +257,6 @@
>
>
> private HtmlPage accessAppAndGetGreetingJSP() throws Exception {
>-
> HtmlPage page = (HtmlPage) getInitialPage();
> return page;
> }
>Index: jsf-demo/test/tests/com/sun/faces/demotest/mappingTest/TestMapping.java
>===================================================================
>RCS file: /cvs/javaserverfaces-sources/jsf-demo/test/tests/com/sun/faces/demotest/mappingTest/TestMapping.java,v
>retrieving revision 1.8
>diff -u -r1.8 TestMapping.java
>--- jsf-demo/test/tests/com/sun/faces/demotest/mappingTest/TestMapping.java 14 Dec 2005 22:27:52 -0000 1.8
>+++ jsf-demo/test/tests/com/sun/faces/demotest/mappingTest/TestMapping.java 2 Mar 2006 07:22:51 -0000
>@@ -75,7 +75,7 @@
> }
> }
>
>- List forms = greetingPage.getAllForms();
>+ List forms = greetingPage.getForms();
> assertTrue(forms != null);
> assertTrue(forms.size() == 1);
>
>@@ -131,7 +131,7 @@
> }
>
> // "click" the back button and submit a new guess
>- List forms1 = resultPage.getAllForms();
>+ List forms1 = resultPage.getForms();
> assertTrue(forms1 != null);
> assertTrue(forms1.size() == 1);
>
>@@ -167,7 +167,7 @@
> public void testGuessNumberNullInput() throws Exception {
> int numberFound = 0;
> HtmlPage greetingPage = accessAppAndGetGreetingJSP();
>- HtmlForm guessForm = (HtmlForm) greetingPage.getAllForms().get(0);
>+ HtmlForm guessForm = (HtmlForm) greetingPage.getForms().get(0);
> assertTrue(guessForm != null);
>
> HtmlPage resultPage = (HtmlPage) guessForm.submit(
>@@ -194,7 +194,7 @@
> public void testGuessNumberInvalidInputRange() throws Exception {
> boolean testFailed = false;
> HtmlPage greetingPage = accessAppAndGetGreetingJSP();
>- HtmlForm guessForm = (HtmlForm) greetingPage.getAllForms().get(0);
>+ HtmlForm guessForm = (HtmlForm) greetingPage.getForms().get(0);
> assertTrue(guessForm != null);
>
> HtmlTextInput input = (HtmlTextInput) guessForm.getInputByName(
>@@ -222,7 +222,7 @@
> assertTrue(testFailed == true);
> testFailed = false;
>
>- guessForm = (HtmlForm) failed.getAllForms().get(0);
>+ guessForm = (HtmlForm) failed.getForms().get(0);
> assertTrue(guessForm != null);
>
> input =
>Index: jsf-ri/systest/src/com/sun/faces/htmlunit/AbstractTestCase.java
>===================================================================
>RCS file: /cvs/javaserverfaces-sources/jsf-ri/systest/src/com/sun/faces/htmlunit/AbstractTestCase.java,v
>retrieving revision 1.12
>diff -u -r1.12 AbstractTestCase.java
>--- jsf-ri/systest/src/com/sun/faces/htmlunit/AbstractTestCase.java 22 Aug 2005 22:10:32 -0000 1.12
>+++ jsf-ri/systest/src/com/sun/faces/htmlunit/AbstractTestCase.java 2 Mar 2006 07:22:52 -0000
>@@ -31,6 +31,8 @@
>
>
> import com.gargoylesoftware.htmlunit.WebClient;
>+import com.gargoylesoftware.htmlunit.WebRequestSettings;
>+import com.gargoylesoftware.htmlunit.WebResponse;
> import com.gargoylesoftware.htmlunit.html.HtmlBody;
> import com.gargoylesoftware.htmlunit.html.HtmlElement;
> import com.gargoylesoftware.htmlunit.html.HtmlInput;
>@@ -105,7 +107,10 @@
>
> client = new WebClient();
> domainURL = getURL("/");
>- state = client.getWebConnection().getStateForUrl(domainURL);
>+ WebRequestSettings settings = new WebRequestSettings(domainURL);
>+ WebResponse response = client.getWebConnection().getResponse(settings);
>+
>+ state = client.getWebConnection().getState();
>
> }
>
>@@ -233,7 +238,7 @@
>
> protected boolean clearAllCookies() {
> if (null == state) {
>- state = client.getWebConnection().getStateForUrl(domainURL);
>+ state = client.getWebConnection().getState();
> if (null == state) {
> return false;
> }
>@@ -303,7 +308,7 @@
> // (HtmlPage.getFormByName() looks at "name" instead)
> protected HtmlForm getFormById(HtmlPage page, String id) {
>
>- Iterator forms = page.getAllForms().iterator();
>+ Iterator forms = page.getForms().iterator();
> while (forms.hasNext()) {
> HtmlForm form = (HtmlForm) forms.next();
> if (id.equals(form.getAttributeValue("id"))) {
>Index: jsf-ri/systest/src/com/sun/faces/jsptest/CommandLinkMultiFormTestCase.java
>===================================================================
>RCS file: /cvs/javaserverfaces-sources/jsf-ri/systest/src/com/sun/faces/jsptest/CommandLinkMultiFormTestCase.java,v
>retrieving revision 1.3
>diff -u -r1.3 CommandLinkMultiFormTestCase.java
>--- jsf-ri/systest/src/com/sun/faces/jsptest/CommandLinkMultiFormTestCase.java 22 Aug 2005 22:10:32 -0000 1.3
>+++ jsf-ri/systest/src/com/sun/faces/jsptest/CommandLinkMultiFormTestCase.java 2 Mar 2006 07:22:52 -0000
>@@ -110,7 +110,7 @@
>
> page = getPage("/faces/taglib/commandLink_multiform_test.jsp");
> // press all command links..
>- List forms = page.getAllForms();
>+ List forms = page.getForms();
> form1 = (HtmlForm)forms.get(0);
> form2 = (HtmlForm)forms.get(1);
>
>Index: jsf-ri/systest/src/com/sun/faces/jsptest/PrependIdTestCase.java
>===================================================================
>RCS file: /cvs/javaserverfaces-sources/jsf-ri/systest/src/com/sun/faces/jsptest/PrependIdTestCase.java,v
>retrieving revision 1.1
>diff -u -r1.1 PrependIdTestCase.java
>--- jsf-ri/systest/src/com/sun/faces/jsptest/PrependIdTestCase.java 10 Jan 2006 21:37:29 -0000 1.1
>+++ jsf-ri/systest/src/com/sun/faces/jsptest/PrependIdTestCase.java 2 Mar 2006 07:22:52 -0000
>@@ -123,14 +123,14 @@
> assertTrue(-1 != pageText.indexOf("span id=\"form6:case2prependIdUnspecified\""));
>
> // Auto-generated ids with prependId literal
>- assertTrue(-1 != pageText.indexOf("input name=\"_id_id54\" type=\"text\" value=\"prependIdFalse\""));
>- assertTrue(-1 != pageText.indexOf("input name=\"_id_id57:_id_id59\" type=\"text\" value=\"prependIdTrue\""));
>- assertTrue(-1 != pageText.indexOf("input name=\"_id_id62:_id_id64\" type=\"text\" value=\"prependIdUnspecified\""));
>+ assertTrue(-1 != pageText.indexOf("input value=\"prependIdFalse\" type=\"text\" name=\"_id_id54\""));
>+ assertTrue(-1 != pageText.indexOf("input value=\"prependIdTrue\" type=\"text\" name=\"_id_id57:_id_id59\""));
>+ assertTrue(-1 != pageText.indexOf("input value=\"prependIdUnspecified\" type=\"text\" name=\"_id_id62:_id_id64\""));
>
> // Auto-generated ids with prependId from expression
>- assertTrue(-1 != pageText.indexOf("input name=\"_id_id71\" type=\"text\" value=\"prependIdFalse\""));
>- assertTrue(-1 != pageText.indexOf("input name=\"_id_id74:_id_id76\" type=\"text\" value=\"prependIdTrue\""));
>- assertTrue(-1 != pageText.indexOf("input name=\"_id_id79:_id_id81\" type=\"text\" value=\"prependIdUnspecified\""));
>+ assertTrue(-1 != pageText.indexOf("input value=\"prependIdFalse\" type=\"text\" name=\"_id_id71\""));
>+ assertTrue(-1 != pageText.indexOf("input value=\"prependIdTrue\" type=\"text\" name=\"_id_id74:_id_id76\""));
>+ assertTrue(-1 != pageText.indexOf("input value=\"prependIdUnspecified\" type=\"text\" name=\"_id_id79:_id_id81\""));
>
> }
>
>Index: jsf-ri/systest-per-webapp/command-link-back-button/src/java/com/sun/faces/systest/CommandLinkBackButtonTestCase.java
>===================================================================
>RCS file: /cvs/javaserverfaces-sources/jsf-ri/systest-per-webapp/command-link-back-button/src/java/com/sun/faces/systest/CommandLinkBackButtonTestCase.java,v
>retrieving revision 1.2
>diff -u -r1.2 CommandLinkBackButtonTestCase.java
>--- jsf-ri/systest-per-webapp/command-link-back-button/src/java/com/sun/faces/systest/CommandLinkBackButtonTestCase.java 22 Aug 2005 22:10:47 -0000 1.2
>+++ jsf-ri/systest-per-webapp/command-link-back-button/src/java/com/sun/faces/systest/CommandLinkBackButtonTestCase.java 2 Mar 2006 07:22:53 -0000
>@@ -122,7 +122,7 @@
> // due to a bug in HtmlUnit 1.2.3, we can't just click the link:
> // page = (HtmlPage) link.click();
> // therefore, we have to hack around it.
>- list = page.getAllForms();
>+ list = page.getForms();
> HtmlHiddenInput hidden = (HtmlHiddenInput) ((HtmlForm)list.get(0)).getInputByName("form:_idcl");
> assertTrue( hidden != null);
> hidden.setValueAttribute("form:link");
>
>
>
>