From richfaces-svn-commits at lists.jboss.org Thu Sep 22 07:39:32 2011 Content-Type: multipart/mixed; boundary="===============5636447349463542100==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r22731 - modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/richAutocomplete. Date: Thu, 22 Sep 2011 07:39:32 -0400 Message-ID: <201109221139.p8MBdWmf021057@svn01.web.mwc.hst.phx2.redhat.com> --===============5636447349463542100== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jpapouse Date: 2011-09-22 07:39:32 -0400 (Thu, 22 Sep 2011) New Revision: 22731 Added: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tes= ts/metamer/ftest/richAutocomplete/AbstractAutocompleteTest.java modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tes= ts/metamer/ftest/richAutocomplete/TestAutocompleteAttributes.java Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tes= ts/metamer/ftest/richAutocomplete/TestAutocompleteByKeys.java modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tes= ts/metamer/ftest/richAutocomplete/TestAutocompleteVisualState.java Log: RFPL-1354: test for valueChangeListener attribute (rich:autocomplete) Added: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces= /tests/metamer/ftest/richAutocomplete/AbstractAutocompleteTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richAutocomplete/AbstractAutocompleteTest.java = (rev 0) +++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richAutocomplete/AbstractAutocompleteTest.java 2011-09-22= 11:39:32 UTC (rev 22731) @@ -0,0 +1,66 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, Red Hat, Inc. and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this software; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. + *************************************************************************= ******/ +package org.richfaces.tests.metamer.ftest.richAutocomplete; + +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; + +import org.richfaces.tests.metamer.bean.Model; +import org.richfaces.tests.metamer.ftest.AbstractMetamerTest; +import org.richfaces.tests.metamer.ftest.model.Autocomplete; +import org.richfaces.tests.metamer.model.Capital; + +/** + * @author Jan Papousek + */ +public abstract class AbstractAutocompleteTest extends AbstractMetamerTest= { + + private AutocompleteAttributes attributes =3D new AutocompleteAttribut= es(); + private Autocomplete autocomplete =3D new Autocomplete(); + List capitals =3D Model.unmarshallCapitals(); + = + protected AutocompleteAttributes getAttributes() { + return attributes; + } + = + protected Autocomplete getAutocomplete() { + return autocomplete; + } + = + protected List getCapitals() { + return Collections.unmodifiableList(capitals); + } + = + protected List getStatesByPrefix(String prefix) { + List states =3D new LinkedList(); + + for (Capital cap : capitals) { + if (cap.getState().toLowerCase().startsWith(prefix)) { + states.add(cap.getState()); + } + } + + return states; + } + = +} Added: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces= /tests/metamer/ftest/richAutocomplete/TestAutocompleteAttributes.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richAutocomplete/TestAutocompleteAttributes.java = (rev 0) +++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richAutocomplete/TestAutocompleteAttributes.java 2011-09-= 22 11:39:32 UTC (rev 22731) @@ -0,0 +1,66 @@ +/*************************************************************************= ****** + * JBoss, Home of Professional Open Source + * Copyright 2010-2011, Red Hat, Inc. and individual contributors + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this software; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. + *************************************************************************= ******/ +package org.richfaces.tests.metamer.ftest.richAutocomplete; + +import static java.text.MessageFormat.format; +import static org.jboss.test.selenium.locator.LocatorFactory.jq; +import static org.jboss.test.selenium.utils.URLUtils.buildUrl; + +import java.net.URL; + +import org.jboss.test.selenium.locator.JQueryLocator; +import org.testng.annotations.Test; + +/** + * @author Jan Papousek + */ +public class TestAutocompleteAttributes extends AbstractAutocompleteTest { + + private static final JQueryLocator PHASE_FORMAT =3D jq("div#phasesPane= l li:eq({0})"); + private static final String PHASE_LISTENER_LOG_FORMAT =3D "*1 value ch= anged: {0} -> {1}"; + @Override + public URL getTestUrl() { + return buildUrl(contextPath, "faces/components/richAutocomplete/au= tocomplete.xhtml"); + } + + @Test + public void testValueChangeListener() { + getAutocomplete().type("something"); + getAutocomplete().confirmByKeys(); + // valueChangeListener output as 4th record + waitGui + .failWith("Expected <" + format(PHASE_LISTENER_LOG_FORMAT, "nu= ll", "something") + ">, found <" + selenium.getText(PHASE_FORMAT.format(3))= + ">") + .until(textEquals.locator(PHASE_FORMAT.format(3)).text( + format(PHASE_LISTENER_LOG_FORMAT, "null", "something")) + ); + = + getAutocomplete().type("something else"); + getAutocomplete().confirmByKeys(); + // valueChangeListener output as 4th record + waitGui + .failWith("Expected <" + format(PHASE_LISTENER_LOG_FORMAT, "so= mething", "something else") + ">, found <" + selenium.getText(PHASE_FORMAT.= format(3)) + ">") + .until(textEquals.locator(PHASE_FORMAT.format(3)).text( + format(PHASE_LISTENER_LOG_FORMAT, "something", "something = else")) + ); = + } + = +} Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfa= ces/tests/metamer/ftest/richAutocomplete/TestAutocompleteByKeys.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richAutocomplete/TestAutocompleteByKeys.java 2011-09-22 0= 9:49:59 UTC (rev 22730) +++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richAutocomplete/TestAutocompleteByKeys.java 2011-09-22 1= 1:39:32 UTC (rev 22731) @@ -21,23 +21,17 @@ *************************************************************************= ******/ package org.richfaces.tests.metamer.ftest.richAutocomplete; = -import static org.jboss.test.selenium.RequestTypeModelGuard.guardXhr; import static org.jboss.test.selenium.RequestTypeModelGuard.guardNoRequest; +import static org.jboss.test.selenium.RequestTypeModelGuard.guardXhr; import static org.jboss.test.selenium.utils.URLUtils.buildUrl; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; = import java.net.URL; -import java.util.LinkedList; -import java.util.List; = -import org.richfaces.tests.metamer.bean.Model; -import org.richfaces.tests.metamer.ftest.AbstractMetamerTest; import org.richfaces.tests.metamer.ftest.annotations.Inject; import org.richfaces.tests.metamer.ftest.annotations.IssueTracking; import org.richfaces.tests.metamer.ftest.annotations.Use; -import org.richfaces.tests.metamer.ftest.model.Autocomplete; -import org.richfaces.tests.metamer.model.Capital; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; = @@ -46,10 +40,7 @@ * @version $Revision$ */ @IssueTracking("https://issues.jboss.org/browse/RF-10254") -public class TestAutocompleteByKeys extends AbstractMetamerTest { - - AutocompleteAttributes attributes =3D new AutocompleteAttributes(); - Autocomplete autocomplete =3D new Autocomplete(); +public class TestAutocompleteByKeys extends AbstractAutocompleteTest { = @Inject @Use(booleans =3D { true, false }) @@ -59,8 +50,6 @@ @Use(booleans =3D { true, false }) Boolean selectFirst; = - List capitals =3D Model.unmarshallCapitals(); - StringBuilder partialInput; = @Override @@ -70,8 +59,8 @@ = @BeforeMethod public void prepareProperties() { - attributes.setAutofill(autofill); - attributes.setSelectFirst(selectFirst); + getAttributes().setAutofill(autofill); + getAttributes().setSelectFirst(selectFirst); if (autofill =3D=3D null) { autofill =3D false; } @@ -88,7 +77,7 @@ assertCompletionVisible(true); confirm(); assertCompletionVisible(false); - assertTrue(autocomplete.getInputText().toLowerCase().startsWith(ge= tExpectedStateForPrefix().toLowerCase())); + assertTrue(getAutocomplete().getInputText().toLowerCase().startsWi= th(getExpectedStateForPrefix().toLowerCase())); } = @Test @@ -104,35 +93,35 @@ } = private void assertCompletionVisible(boolean assertCompletionVisible) { - assertEquals(autocomplete.isCompletionVisible(), assertCompletionV= isible); + assertEquals(getAutocomplete().isCompletionVisible(), assertComple= tionVisible); } = public void confirm() { - autocomplete.confirmByKeys(); - autocomplete.waitForCompletionVisible(); + getAutocomplete().confirmByKeys(); + getAutocomplete().waitForCompletionVisible(); } = public void deleteAll() { partialInput =3D new StringBuilder(); = - autocomplete.textSelectAll(); - guardNoRequest(autocomplete).pressBackspace(); + getAutocomplete().textSelectAll(); + guardNoRequest(getAutocomplete()).pressBackspace(); = - assertEquals(autocomplete.getInputText(), getExpectedStateForPrefi= x()); - assertEquals(autocomplete.getSelectedOptionIndex(), getExpectedSel= ectedOptionIndex()); + assertEquals(getAutocomplete().getInputText(), getExpectedStateFor= Prefix()); + assertEquals(getAutocomplete().getSelectedOptionIndex(), getExpect= edSelectedOptionIndex()); } = public void typePrefix(String wholeInput) { - partialInput =3D new StringBuilder(autocomplete.getInputText()); + partialInput =3D new StringBuilder(getAutocomplete().getInputText(= )); = for (int i =3D 0; i < wholeInput.length(); i++) { String chr =3D String.valueOf(wholeInput.charAt(i)); = - guardXhr(autocomplete).typeKeys(chr); + guardXhr(getAutocomplete()).typeKeys(chr); partialInput.append(chr); = - assertEquals(autocomplete.getInputText(), getExpectedStateForP= refix()); - assertEquals(autocomplete.getSelectedOptionIndex(), getExpecte= dSelectedOptionIndex()); + assertEquals(getAutocomplete().getInputText(), getExpectedStat= eForPrefix()); + assertEquals(getAutocomplete().getSelectedOptionIndex(), getEx= pectedSelectedOptionIndex()); } } = @@ -147,16 +136,4 @@ public int getExpectedSelectedOptionIndex() { return (selectFirst && partialInput.length() > 0) ? 0 : -1; } - - public List getStatesByPrefix(String prefix) { - List states =3D new LinkedList(); - - for (Capital cap : capitals) { - if (cap.getState().toLowerCase().startsWith(prefix)) { - states.add(cap.getState()); - } - } - - return states; - } } Modified: modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfa= ces/tests/metamer/ftest/richAutocomplete/TestAutocompleteVisualState.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richAutocomplete/TestAutocompleteVisualState.java 2011-09= -22 09:49:59 UTC (rev 22730) +++ modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/te= sts/metamer/ftest/richAutocomplete/TestAutocompleteVisualState.java 2011-09= -22 11:39:32 UTC (rev 22731) @@ -26,8 +26,6 @@ import java.net.URL; = import org.jboss.test.selenium.utils.URLUtils; -import org.richfaces.tests.metamer.ftest.AbstractMetamerTest; -import org.richfaces.tests.metamer.ftest.model.Autocomplete; import org.testng.annotations.Test; = /** @@ -39,10 +37,9 @@ * @author Jan Jamrich * @version $Revision$ */ -public class TestAutocompleteVisualState extends AbstractMetamerTest { +public class TestAutocompleteVisualState extends AbstractAutocompleteTest { = AutocompleteReloadTester reloadTester =3D new AutocompleteReloadTester= (); - Autocomplete autocomplete =3D new Autocomplete(); = @Override public URL getTestUrl() { = @@ -65,13 +62,13 @@ @Override public void doRequest(String inputValue) { // autocomplete.clearInputValue(); - autocomplete.type(inputValue); + getAutocomplete().type(inputValue); waitAjax.until(textEquals.locator(pjq("span[id$=3D:output]")).= text(inputValue)); = } = @Override public void verifyResponse(String inputValue) { - String found =3D autocomplete.getInputText(); + String found =3D getAutocomplete().getInputText(); assertEquals(found, inputValue); } = --===============5636447349463542100==--