Author: lfryc(a)redhat.com
Date: 2010-01-06 12:21:54 -0500 (Wed, 06 Jan 2010)
New Revision: 16243
Modified:
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/java/org/jboss/richfaces/integrationTest/tooltip/TooltipDataTableTestCase.java
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/java/org/jboss/richfaces/integrationTest/tooltip/TooltipTestCase.java
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/resources/user-extensions/rfqa-extensions.js
Log:
- TooltipTestCase - tried to rewrite isTextPresent and isElementPresent to jQuery
implementation (RFPL-316)
Modified:
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/java/org/jboss/richfaces/integrationTest/tooltip/TooltipDataTableTestCase.java
===================================================================
---
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/java/org/jboss/richfaces/integrationTest/tooltip/TooltipDataTableTestCase.java 2010-01-05
22:51:50 UTC (rev 16242)
+++
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/java/org/jboss/richfaces/integrationTest/tooltip/TooltipDataTableTestCase.java 2010-01-06
17:21:54 UTC (rev 16243)
@@ -79,18 +79,22 @@
private void waitForElementAppears(final String locator) {
waitModelUpdate.until(new Condition() {
public boolean isTrue() {
- return selenium.isElementPresent(locator);
+ return isElementPresent(locator);
}
});
}
-
+
private void waitForElementDisappears(final String locator) {
waitModelUpdate.until(new Condition() {
public boolean isTrue() {
- return !selenium.isElementPresent(locator);
+ return !isElementPresent(locator);
}
});
}
+
+ private boolean isElementPresent(String locator) {
+ return
!"0".equals(selenium.getEval(format("jqFind('{0}:visible').size()",
locator.replaceFirst("^jquery=", "").trim())));
+ }
@SuppressWarnings("unused")
@BeforeMethod
Modified:
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/java/org/jboss/richfaces/integrationTest/tooltip/TooltipTestCase.java
===================================================================
---
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/java/org/jboss/richfaces/integrationTest/tooltip/TooltipTestCase.java 2010-01-05
22:51:50 UTC (rev 16242)
+++
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/java/org/jboss/richfaces/integrationTest/tooltip/TooltipTestCase.java 2010-01-06
17:21:54 UTC (rev 16243)
@@ -50,6 +50,17 @@
private final String MSG_OUTPUT_TOOLTIP_3_4_TEXT =
getMsg("OUTPUT_TOOLTIP_3_4_TEXT");
private final Pattern MSG_REGEXP_TOOLTIPS_REQUESTED =
Pattern.compile(getMsg("REGEXP_TOOLTIPS_REQUESTED"));
+ final String jqFindTooltip = "jqFind('{0}:visible:textEquals({1})')";
+ final String jqFindTooltipWait = format(jqFindTooltip, "strong",
MSG_OUTPUT_TOOLTIP_3_4_WAITING);
+ final String jqFindTooltipText = format(jqFindTooltip, "span",
MSG_OUTPUT_TOOLTIP_3_4_TEXT);
+
+ final String conditionTooltipWaitAppears = format("{0}.size() > 0",
format(jqFindTooltip, "strong",
+ MSG_OUTPUT_TOOLTIP_3_4_WAITING));
+ final String conditionTooltipTextAppears = format("{0}.size() > 0",
format(jqFindTooltip, "span",
+ MSG_OUTPUT_TOOLTIP_3_4_TEXT));
+ final String conditionTooltipTextDisappears = format("{0}.size() == 0",
format(jqFindTooltip, "span",
+ MSG_OUTPUT_TOOLTIP_3_4_TEXT));
+
/**
* Hover mouse at first panel and so invokes tooltip displaying. Checks that
* the tooltip text will display and next hover mouse out of panel to close
@@ -108,17 +119,16 @@
Integer tooltipsRequested = null;
for (int i = 0; i < 3; i++) {
- assertFalse(selenium.isTextPresent(MSG_OUTPUT_TOOLTIP_3_4_WAITING));
- assertFalse(selenium.isTextPresent(MSG_OUTPUT_TOOLTIP_3_4_TEXT));
+ assertEquals(selenium.getEval(format("{0}.size()", jqFindTooltipWait)),
"0");
+ assertEquals(selenium.getEval(format("{0}.size()", jqFindTooltipText)),
"0");
if (i == 0)
selenium.mouseMoveAt(LOC_PANEL_SAMPLE_3, MSG_EVENT_COORDS_AT_PANEL);
mouseOverAt(LOC_PANEL_SAMPLE_3, MSG_EVENT_COORDS_AT_PANEL);
-
tooltipsRequested = waitForTooltipChanges(tooltipsRequested, i == 0);
selenium.mouseOut(LOC_PANEL_SAMPLE_3);
- waitForTextDisappears(MSG_OUTPUT_TOOLTIP_3_4_TEXT);
+ selenium.waitForCondition(conditionTooltipTextDisappears, "3000");
}
}
@@ -133,14 +143,14 @@
Integer tooltipsRequested = null;
for (int i = 0; i < 3; i++) {
- assertFalse(selenium.isTextPresent(MSG_OUTPUT_TOOLTIP_3_4_WAITING));
- assertFalse(selenium.isTextPresent(MSG_OUTPUT_TOOLTIP_3_4_TEXT));
+ assertEquals(selenium.getEval(format("{0}.size()", jqFindTooltipWait)),
"0");
+ assertEquals(selenium.getEval(format("{0}.size()", jqFindTooltipText)),
"0");
selenium.clickAt(LOC_PANEL_SAMPLE_4, MSG_EVENT_COORDS_AT_PANEL);
tooltipsRequested = waitForTooltipChanges(tooltipsRequested, i == 0);
selenium.mouseOut(LOC_PANEL_SAMPLE_4);
- waitForTextDisappears(MSG_OUTPUT_TOOLTIP_3_4_TEXT);
+ selenium.waitForCondition(conditionTooltipTextDisappears, "3000");
}
}
@@ -148,16 +158,15 @@
Integer tooltipsRequested = null;
if (firstLoop) {
- waitForText(MSG_OUTPUT_TOOLTIP_3_4_WAITING);
- waitForText(MSG_OUTPUT_TOOLTIP_3_4_TEXT);
+ selenium.waitForCondition(conditionTooltipWaitAppears, "3000");
+ selenium.waitForCondition(conditionTooltipTextAppears, "3000");
+
tooltipsRequested = retrieveRequestedTooltips.retrieve();
} else {
- waitForText(MSG_OUTPUT_TOOLTIP_3_4_TEXT);
+ selenium.waitForCondition(conditionTooltipTextAppears, "3000");
+
tooltipsRequested = Wait.waitForChangeAndReturn(tooltipsRequestedOld,
retrieveRequestedTooltips);
-
- if (tooltipsRequestedOld != null) {
- assertEquals(tooltipsRequested, Integer.valueOf(tooltipsRequestedOld + 1));
- }
+ assertEquals(tooltipsRequested, Integer.valueOf(tooltipsRequestedOld + 1));
}
return tooltipsRequested;
Modified:
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/resources/user-extensions/rfqa-extensions.js
===================================================================
---
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/resources/user-extensions/rfqa-extensions.js 2010-01-05
22:51:50 UTC (rev 16242)
+++
branches/community/3.3.X/samples/richfaces-demo/functional-test/src/test/resources/user-extensions/rfqa-extensions.js 2010-01-06
17:21:54 UTC (rev 16243)
@@ -87,3 +87,7 @@
return jQuery.trim(elem.textContent || elem.innerText || "").endsWith(
match[3]);
}
+
+var jqFind = function(selector) {
+ return $(selenium.browserbot.getCurrentWindow().document).find(selector);
+}
\ No newline at end of file