Author: dsvyatobatsko
Date: 2009-02-25 09:02:34 -0500 (Wed, 25 Feb 2009)
New Revision: 12740
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/inputNumberSlider/inputNumberSliderAutoTest.xhtml
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/inputNumberSlider/inputNumberSliderTest.xhtml
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/InputNumberSliderTest.java
Log:
RF-5860, RF-5861
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/inputNumberSlider/inputNumberSliderAutoTest.xhtml
===================================================================
(Binary files differ)
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/inputNumberSlider/inputNumberSliderTest.xhtml
===================================================================
(Binary files differ)
Modified:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/InputNumberSliderTest.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/InputNumberSliderTest.java 2009-02-25
13:26:46 UTC (rev 12739)
+++
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/InputNumberSliderTest.java 2009-02-25
14:02:34 UTC (rev 12740)
@@ -32,66 +32,64 @@
private final static String RESET_METHOD = "#{sliderBean.reset}";
- private final static String FORM_ID = "autoTestForm:";
-
@Test
public void testInputNumberSlider(Template template) {
renderPage(template, RESET_METHOD);
- String parentId = getParentId() + "_form:";
- String slider = parentId + "slider";
+ String slider = getAutoTester(this).getClientId(AutoTester.COMPONENT_ID);
String input = slider + "Input";
String tip = slider + "Tip";
String track = slider + "Track";
- String ajax = parentId + "ajax";
- String server = parentId + "server";
- String output = parentId + "output";
+ String ajax = getAutoTester(this).getClientId("ajax");
+ String server = getAutoTester(this).getClientId("server");
+ String output = getAutoTester(this).getClientId("output");
writeStatus("Checking initial rendering");
AssertNotVisible(tip);
- checkSliderVisualState(slider, 40);
+ checkSliderVisualState(40);
AssertTextEquals(output, "40");
writeStatus("Checking if tip is visible during click");
- selenium.mouseDownAt("id=" + track, "800,1");
+ selenium.mouseDownAt(track, "800,1");
AssertVisible(tip);
- selenium.mouseUpAt("id=" + track, "800,1");
+ selenium.mouseUpAt(track, "800,1");
AssertNotVisible(tip);
writeStatus("Checking if value is changed with previous click");
- checkSliderVisualState(slider, 80);
+ checkSliderVisualState(80);
writeStatus("Checking if value is changed with input field");
selenium.type(input, "22");
- checkSliderVisualState(slider, 22);
+ checkSliderVisualState(22);
writeStatus("Checking if slider is properly re-rendered and submitted with
ajax");
clickAjaxCommandAndWait(ajax);
- checkSliderVisualState(slider, 32);
+ checkSliderVisualState(32);
AssertTextEquals(output, "32");
writeStatus("Checking if slider is properly submitted");
clickCommandAndWait(server);
- checkSliderVisualState(slider, 42);
+ checkSliderVisualState(42);
AssertTextEquals(output, "42");
writeStatus("Checking validation");
- selenium.mouseDownAt("id=" + track, "950,1");
- selenium.mouseUpAt("id=" + track, "950,1");
+ selenium.mouseDownAt(track, "950,1");
+ selenium.mouseUpAt(track, "950,1");
clickAjaxCommandAndWait(ajax);
- checkSliderVisualState(slider, 95);
+ checkSliderVisualState(95);
AssertTextEquals(output, "42");
- selenium.mouseDownAt("id=" + track, "300,1");
- selenium.mouseUpAt("id=" + track, "300,1");
+ selenium.mouseDownAt(track, "300,1");
+ selenium.mouseUpAt(track, "300,1");
clickAjaxCommandAndWait(ajax);
- checkSliderVisualState(slider, 40);
+ checkSliderVisualState(40);
AssertTextEquals(output, "40");
}
- private void checkSliderVisualState(String id, int value) {
+ private void checkSliderVisualState(int value) {
+ String id = getAutoTester(this).getClientId(AutoTester.COMPONENT_ID);
writeStatus("Checking value in input field");
AssertValueEquals(id + "Input", Integer.toString(value));
AssertTextEquals(id + "Tip", Integer.toString(value));
@@ -105,10 +103,17 @@
int actual = new Integer(actualTip.replace("px",
"")).intValue();
int expected = BAR_SCALE * value;
- Assert.assertTrue(Math.abs(actual - expected) <= BAR_SCALE,
+ Assert.assertTrue(Math.abs(actual - expected) < BAR_SCALE,
"Handle position is not syncronized with slider value!");
}
+ private void clickSlider(int position) {
+ String track = getAutoTester(this).getClientId(AutoTester.COMPONENT_ID) +
"Track";
+ String coords = "" + BAR_SCALE * position + ",1";
+ selenium.mouseDownAt(track, coords);
+ selenium.mouseUpAt(track, coords);
+ }
+
@Test
public void testValueChangeEventFiredAndModelUpdatedOnSubmit(Template template) {
AutoTester tester = getAutoTester(this);
@@ -156,12 +161,38 @@
Assert.assertFalse(selenium.isEditable(inputId), "Slider's input has to
be read only");
}
+ @Test
+ public void testCorrectManualInputMovesSliderHandlerRespectively(Template template)
{
+ AutoTester tester = getAutoTester(this);
+ tester.renderPage(template, RESET_METHOD);
+ writeStatus("Check correct manual input moves slider handler
respectively");
+ String input = getAutoTester(this).getClientId(AutoTester.COMPONENT_ID) +
"Input";
+
+ selenium.type(input, "20");
+ checkSliderVisualState(20);
+
+ selenium.type(input, "70");
+ checkSliderVisualState(70);
+ }
+
+ @Test
+ public void testIncorrectManualInputMovesSliderHandlerToTheLeftEdge(Template
template) {
+ AutoTester tester = getAutoTester(this);
+ tester.renderPage(template, RESET_METHOD);
+ writeStatus("Check incorrect manual input moves slider handler to the left
edge");
+ String input = getAutoTester(this).getClientId(AutoTester.COMPONENT_ID) +
"Input";
+
+ selenium.type(input, "-20");
+ checkSliderVisualState(0);
+ Assert.assertEquals(getSliderValue(), "0", "Slider value has to be
dropped to zero");
+ }
+
private String getSliderValue() {
- return selenium.getValue("name=" + getParentId() + FORM_ID +
"componentId");
+ return selenium.getValue("name=" +
getAutoTester(this).getClientId(AutoTester.COMPONENT_ID));
}
private void setSliderValue(String value) {
- selenium.type("name=" + getParentId() + FORM_ID +
"componentId", value);
+ selenium.type("name=" +
getAutoTester(this).getClientId(AutoTester.COMPONENT_ID), value);
}
@Override