Author: jjamrich
Date: 2011-12-16 11:11:07 -0500 (Fri, 16 Dec 2011)
New Revision: 23092
Modified:
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/model/Autocomplete.java
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/richAutocomplete/TestAutocompleteByKeys.java
Log:
RFPL-929: Add test using suggestion selection by mouse
Modified:
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/model/Autocomplete.java
===================================================================
---
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/model/Autocomplete.java 2011-12-14
15:43:15 UTC (rev 23091)
+++
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/model/Autocomplete.java 2011-12-16
16:11:07 UTC (rev 23092)
@@ -35,6 +35,7 @@
import org.jboss.test.selenium.encapsulated.JavaScript;
import org.jboss.test.selenium.framework.AjaxSelenium;
import org.jboss.test.selenium.framework.AjaxSeleniumProxy;
+import org.jboss.test.selenium.geometry.Point;
import org.jboss.test.selenium.locator.JQueryLocator;
/**
@@ -53,7 +54,7 @@
JQueryLocator items = jq("div.rf-au-lst-cord[id$=autocompleteList]
div[id$=autocompleteItems]");
JQueryLocator selection = items.getDescendant(jq("div.rf-au-itm-sel"));
JQueryLocator option = jq("div.rf-au-itm");
- JQueryLocator labeledOption = jq("div.rf-au-opt:contains('{0}')");
+ JQueryLocator labeledOption = jq("div.rf-au-opt:contains({0})");
public void typeKeys(String keys) {
for (int i = 0; i < keys.length(); i++) {
@@ -83,6 +84,19 @@
pressUp();
}
}
+
+ /**
+ * Method for select option from autocomplete suggestions. This method doesn't
invoke/display suggestions.
+ * Is should be already done by another selenium invocation.
+ *
+ * For now, it is just selenium.clickAt()
+ *
+ * @param label
+ */
+ public void selectByMouse(String label) {
+ selenium.mouseOver(labeledOption.format(label));
+ selenium.clickAt(labeledOption.format(label), new Point(3, 3));
+ }
public boolean isLabeledOptionAvailable(String label) {
return selenium.isElementPresent(getLabeledOption(label));
Modified:
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/richAutocomplete/TestAutocompleteByKeys.java
===================================================================
---
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/richAutocomplete/TestAutocompleteByKeys.java 2011-12-14
15:43:15 UTC (rev 23091)
+++
modules/tests/metamer/trunk/ftest-source/src/main/java/org/richfaces/tests/metamer/ftest/richAutocomplete/TestAutocompleteByKeys.java 2011-12-16
16:11:07 UTC (rev 23092)
@@ -81,6 +81,14 @@
assertCompletionVisible(false);
assertTrue(getAutocomplete().getInputText().toLowerCase().startsWith(getExpectedStateForPrefix().toLowerCase()));
}
+
+ @Test
+ public void testSimpleSelection() {
+ String expected = "Alaska"; // this item is 2nd if type filter
"ala", so it ensure that it was not picked first item
+ typePrefix("ala");
+ autocomplete.selectByMouse(expected);
+ assertEquals(getAutocomplete().getInputText(), expected);
+ }
@Test
@IssueTracking("https://issues.jboss.org/browse/RF-11323")
Show replies by date