Author: dsvyatobatsko
Date: 2008-11-24 07:28:37 -0500 (Mon, 24 Nov 2008)
New Revision: 11318
Added:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/images/
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/images/tree/
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/images/tree/disc.gif
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/images/tree/singer.gif
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/images/tree/song.gif
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/tree/treeAutoTest.xhtml
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/tree/treeTest.xhtml
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/TreeTest.java
Log:
tree tests
Added:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/images/tree/disc.gif
===================================================================
(Binary files differ)
Property changes on:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/images/tree/disc.gif
___________________________________________________________________
Name: svn:mime-type
+ image/gif
Added:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/images/tree/singer.gif
===================================================================
(Binary files differ)
Property changes on:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/images/tree/singer.gif
___________________________________________________________________
Name: svn:mime-type
+ image/gif
Added:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/images/tree/song.gif
===================================================================
(Binary files differ)
Property changes on:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/images/tree/song.gif
___________________________________________________________________
Name: svn:mime-type
+ image/gif
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/tree/treeAutoTest.xhtml
===================================================================
(Binary files differ)
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/tree/treeTest.xhtml
===================================================================
(Binary files differ)
Modified:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/TreeTest.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/TreeTest.java 2008-11-24
12:05:53 UTC (rev 11317)
+++
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/TreeTest.java 2008-11-24
12:28:37 UTC (rev 11318)
@@ -17,6 +17,7 @@
private final static String INIT_TOGGLE_ON_CLICK_AJAX_MODE =
"#{treeBean.initToggleOnClickTestAjaxMode}";
private final static String INIT_TOGGLE_ON_CLICK_CLIENT_MODE =
"#{treeBean.initToggleOnClickTestClientMode}";
private final static String INIT_AJAX_CORE_TEST =
"#{treeBean.initAjaxCoreTest}";
+ private final static String INIT_AJAX_CORE_TEST_WITH_SWING_MODEL =
"#{treeBean.initAjaxCoreTestWithSwingModel}";
private final static String INIT_AJAX_SUBMIT_SELECTION =
"#{treeBean.initAjaxSubmitSelectionTest}";
static {
@@ -123,6 +124,92 @@
tester.checkNodeExpandedListener(true);
}
+//
+// Swing model
+//
+
+ //@Test
+ public void testAjaxSingleWithSwingModel(Template template) {
+ AutoTester tester = getAutoTester(this);
+ tester.renderPage(template, INIT_AJAX_CORE_TEST_WITH_SWING_MODEL);
+ tester.reset();
+ tester.setupControl(TestSetupEntry.ajaxSingle, Boolean.TRUE);
+ tester.clickLoad();
+ writeStatus("Navigate to the first child");
+ String compId = getAutoTester(this).getClientId(AutoTester.COMPONENT_ID);
+ clickAjaxCommandAndWait("//*[@id='"+ compId +
":childs']/table[1]/tbody/tr/td/div/a");
+ clickAjaxCommandAndWait("//*[@id='"+ compId +
":childs']/div/table[1]/tbody/tr/td/div/a");
+ type("//*[@id='"+ compId +
":childs']/div/div/table[1]/tbody/tr/td[3]/input", "New");
+ tester.setExtrenalValidationFailed();
+ tester.startTracing();
+ writeStatus("Test ajaxSingle attribute");
+ clickAjaxCommandAndWait("//*[@id='"+ compId +
":childs']/div/table[1]/tbody/tr/td/div/a");
+ tester.checkUpdateModel(false);
+ tester.checkNodeExpandedListener(true);
+ }
+
+ //@Test
+ public void testAjaxSingleWithInternalValidationFailedWithSwingModel(Template
template) {
+ AutoTester tester = getAutoTester(this);
+ tester.renderPage(template, INIT_AJAX_CORE_TEST_WITH_SWING_MODEL);
+ tester.reset();
+ tester.setupControl(TestSetupEntry.ajaxSingle, Boolean.TRUE);
+ tester.clickLoad();
+ writeStatus("Navigate to the first child");
+ String compId = getAutoTester(this).getClientId(AutoTester.COMPONENT_ID);
+ clickAjaxCommandAndWait("//*[@id='"+ compId +
":childs']/table[1]/tbody/tr/td/div/a");
+ clickAjaxCommandAndWait("//*[@id='"+ compId +
":childs']/div/table[1]/tbody/tr/td/div/a");
+ writeStatus("Set a new invalid value for the child");
+ type("//*[@id='"+ compId +
":childs']/div/div/table[1]/tbody/tr/td[3]/input", "");
+ tester.startTracing();
+ writeStatus("Test ajaxSingle attribute in case of invalid component
state");
+ clickAjaxCommandAndWait("//*[@id='"+ compId +
":childs']/div/table[1]/tbody/tr/td/div/a");
+ tester.checkUpdateModel(false);
+ tester.checkNodeExpandedListener(false);
+ }
+
+ //@Test
+ public void testImmediateWithSwingModel(Template template) {
+ AutoTester tester = getAutoTester(this);
+ tester.renderPage(template, INIT_AJAX_CORE_TEST_WITH_SWING_MODEL);
+ tester.reset();
+ tester.setupControl(TestSetupEntry.immediate, Boolean.TRUE);
+ tester.clickLoad();
+ writeStatus("Navigate to the first child");
+ String compId = getAutoTester(this).getClientId(AutoTester.COMPONENT_ID);
+ clickAjaxCommandAndWait("//*[@id='"+ compId +
":childs']/table[1]/tbody/tr/td/div/a");
+ clickAjaxCommandAndWait("//*[@id='"+ compId +
":childs']/div/table[1]/tbody/tr/td/div/a");
+ writeStatus("Set a new value for the child");
+ type("//*[@id='"+ compId +
":childs']/div/div/table[1]/tbody/tr/td[3]/input", "New");
+ tester.startTracing();
+ writeStatus("Test immediate attribute");
+ clickAjaxCommandAndWait("//*[@id='"+ compId +
":childs']/div/table[1]/tbody/tr/td/div/a");
+ tester.checkUpdateModel(true);
+ tester.checkNodeExpandedListener(true);
+ }
+
+ //@Test
+ public void testImmediateWithExternalValidationFailedWithSwingModel(Template
template) {
+ AutoTester tester = getAutoTester(this);
+ tester.renderPage(template, INIT_AJAX_CORE_TEST_WITH_SWING_MODEL);
+ tester.reset();
+ tester.setupControl(TestSetupEntry.immediate, Boolean.TRUE);
+ tester.clickLoad();
+ writeStatus("Navigate to the first child");
+ String compId = getAutoTester(this).getClientId(AutoTester.COMPONENT_ID);
+ clickAjaxCommandAndWait("//*[@id='"+ compId +
":childs']/table[1]/tbody/tr/td/div/a");
+ clickAjaxCommandAndWait("//*[@id='"+ compId +
":childs']/div/table[1]/tbody/tr/td/div/a");
+ writeStatus("set a new value for the child");
+ type("//*[@id='"+ compId +
":childs']/div/div/table[1]/tbody/tr/td[3]/input", "New");
+ writeStatus("Set external validation to fail");
+ tester.setExtrenalValidationFailed();
+ tester.startTracing();
+ writeStatus("Test immediate attribute with external validation
failed");
+ clickAjaxCommandAndWait("//*[@id='"+ compId +
":childs']/div/table[1]/tbody/tr/td/div/a");
+ tester.checkUpdateModel(false);
+ tester.checkNodeExpandedListener(true);
+ }
+
@Test
public void testToggleOnClickTrueWithServerMode(Template template) {
AutoTester tester = getAutoTester(this);
@@ -227,6 +314,34 @@
tester.checkNodeExpandedListener(false);
}
+ @Test
+ public void testIconsAttributesAreApplied(Template template) {
+ renderPage(template, null);
+
+ writeStatus("Check icons attributes applied: are output to client and images
are accessible");
+
+ String compId = getParentId() + "_form:tree";
+
+ testIcon("//*[@id='"+ compId +
":childs']/table[1]/tbody/tr/td[2]/img", "singer");
+ clickAjaxCommandAndWait("//*[@id='"+ compId +
":childs']/table[1]/tbody/tr/td/div/a");
+ testIcon("//*[@id='"+ compId +
":childs']/div/table[1]/tbody/tr/td[2]/img", "disc");
+ clickAjaxCommandAndWait("//*[@id='"+ compId +
":childs']/div/table[1]/tbody/tr/td/div/a");
+ testIcon("//*[@id='"+ compId +
":childs']/div/div/table[1]/tbody/tr/td[2]/img", "song");
+ }
+
+ /**
+ * Test an icon.
+ *
+ * @param location location of image representing icon to be tested
+ * @param iconName substring that icon uri has to contain
+ */
+ private void testIcon(String location, String iconSubstring) {
+ String iconSrc = selenium.getAttribute(location + "/@src");
+ if (null == iconSrc || !iconSrc.matches(".*" + iconSubstring +
".*")) {
+ Assert.fail("It looks as if the icon is not proper. Uri of icon is being
tested must contain [" + iconSubstring + "] icon is expected");
+ }
+ }
+
@Override
public void sendAjax() {
AutoTester tester = getAutoTester(this);
Show replies by date