Author: konstantin.mishin
Date: 2009-03-03 12:48:10 -0500 (Tue, 03 Mar 2009)
New Revision: 12811
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/A4JOutputPanelTestBean.java
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/ajaxOutputPanel/ajaxOutputPanelTest.xhtml
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/AjaxOutputPanelTest.java
Log:
RF-6196
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/A4JOutputPanelTestBean.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/A4JOutputPanelTestBean.java 2009-03-03
16:50:11 UTC (rev 12810)
+++
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/A4JOutputPanelTestBean.java 2009-03-03
17:48:10 UTC (rev 12811)
@@ -27,93 +27,28 @@
*/
public class A4JOutputPanelTestBean {
- private Boolean panel1VisibleFlag = true;
- private Boolean panel2VisibleFlag = true;
- private Boolean panel3VisibleFlag = true;
- private Boolean panel4VisibleFlag = true;
-
- /**
- * @return the panel1VisibleFlag
- */
- public Boolean getPanel1VisibleFlag() {
- return panel1VisibleFlag;
- }
-
- /**
- * @param panel1VisibleFlag the panel1VisibleFlag to set
- */
- public void setPanel1VisibleFlag(Boolean panel1VisibleFlag) {
- this.panel1VisibleFlag = panel1VisibleFlag;
- }
-
- /**
- * @return the panel2VisibleFlag
- */
- public Boolean getPanel2VisibleFlag() {
- return panel2VisibleFlag;
- }
-
- /**
- * @param panel2VisibleFlag the panel2VisibleFlag to set
- */
- public void setPanel2VisibleFlag(Boolean panel2VisibleFlag) {
- this.panel2VisibleFlag = panel2VisibleFlag;
- }
-
- /**
- * @return the panel3VisibleFlag
- */
- public Boolean getPanel3VisibleFlag() {
- return panel3VisibleFlag;
- }
-
- /**
- * @param panel3VisibleFlag the panel3VisibleFlag to set
- */
- public void setPanel3VisibleFlag(Boolean panel3VisibleFlag) {
- this.panel3VisibleFlag = panel3VisibleFlag;
- }
-
- /**
- * @return the panel4VisibleFlag
- */
- public Boolean getPanel4VisibleFlag() {
- return panel4VisibleFlag;
- }
-
- /**
- * @param panel4VisibleFlag the panel4VisibleFlag to set
- */
- public void setPanel4VisibleFlag(Boolean panel4VisibleFlag) {
- this.panel4VisibleFlag = panel4VisibleFlag;
- }
-
- public String b1Action(){
- setPanel2VisibleFlag(false);
- return null;
- }
-
- public String b2Action(){
- setPanel1VisibleFlag(false);
- setPanel2VisibleFlag(false);
- return null;
- }
-
- public String b3Action(){
- setPanel3VisibleFlag(false);
- return null;
- }
-
- public String b4Action(){
- setPanel4VisibleFlag(false);
- return null;
- }
-
- public String reset(){
- setPanel1VisibleFlag(true);
- setPanel2VisibleFlag(true);
- setPanel3VisibleFlag(true);
- setPanel4VisibleFlag(true);
- return null;
- }
+ private String layout;
+
+ private String outputText;
+
+ public void init() {
+ layout = "inline";
+ outputText = "text";
+ }
+
+ public void setOutputText(String outputText) {
+ this.outputText = outputText;
+ }
+
+ public String getOutputText() {
+ return outputText;
+ }
+
+ public void setLayout(String layout) {
+ this.layout = layout;
+ }
+
+ public String getLayout() {
+ return layout;
+ }
}
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/ajaxOutputPanel/ajaxOutputPanelTest.xhtml
===================================================================
(Binary files differ)
Modified:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/AjaxOutputPanelTest.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/AjaxOutputPanelTest.java 2009-03-03
16:50:11 UTC (rev 12810)
+++
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/AjaxOutputPanelTest.java 2009-03-03
17:48:10 UTC (rev 12811)
@@ -33,276 +33,45 @@
*/
public class AjaxOutputPanelTest extends SeleniumTestBase {
- private final static String FORM_ID = "form:";
+ private String layout;
+
+ private String mainForm;
+
+ private String outputPanel;
+
+ private String outputText;
+
+ private void init(Template template) {
+ renderPage(null, template, "#{a4jOutputPanelBean.init}");
+ String attrForm = getParentId() + "attrForm";
+ layout = attrForm + ":layout";
+ mainForm = getParentId() + "mainForm";
+ outputPanel = mainForm + ":outputPanel";
+ outputText = mainForm + ":outputText";
+ }
- private final static String PANEL1_ID = "panel_1";
-
- private final static String PANEL2_ID = "panel_2";
-
- private final static String PANEL3_ID = "panel_3";
-
- private final static String PANEL4_ID = "panel_4";
-
- private final static String BUTTON1_ID = "b1";
-
- private final static String BUTTON2_ID = "b2";
-
- private final static String BUTTON3_ID = "b3";
-
- private final static String BUTTON4_ID = "b4";
-
- private final static String RESET_BUTTON_ID = "reset";
-
- private final static String TEXT_SUFFIX = "_text";
-
- private final static String RESULT_SUFFIX = "_result";
-
- private final static String RESET_METHOD = "#{a4jOutputPanelBean.reset}";
-
- @Test
- public void testLayoutAttribute(Template template) throws Exception {
- renderPage(template, RESET_METHOD);
- // panel_1 has layout=inline(default)
- // panel_2 has layout=block
- // panel_3 has layout=none
- writeStatus("Testing layout attribute...");
-
- String panelId = getParentId() + FORM_ID + PANEL1_ID;
- String panel2Id = getParentId() + FORM_ID + PANEL2_ID;
- String panel3Id = getParentId() + FORM_ID + PANEL3_ID;
-
- Assert.assertTrue(isPresent(panelId));
- Number type = selenium.getXpathCount("//*[@id='" + panelId +
"' and (name()='span' or name()='SPAN')]");
- Assert.assertTrue(type.intValue() == 1, "panel_1 has layout=inline(default)
and should be 'span' element");
-
- Assert.assertTrue(isPresent(panel2Id));
- type = selenium.getXpathCount("//*[@id='" + panel2Id + "'
and (name()='DIV' or name()='div')]");
- Assert.assertTrue(type.intValue() == 1, "panel_2 has layout=block and should
be 'div' element");
-
- // panel_3 has layout=none and should not present if a child component
- // is rendered
- Assert.assertFalse(isPresent(panel3Id),
- "panel_3 has layout=none and should not peresent if a child
component is rendered ");
-
- // remove child component rendering
- writeStatus("Click button 3");
- String buttonId = getParentId() + FORM_ID + BUTTON3_ID;
- clickById(buttonId);
- waitForAjaxCompletion();
-
- // panel_3 has layout=none and should present if no child component is
- // rendered with id of a child component and display:none style
- Assert.assertTrue(isPresent(panel3Id + "_text"),
- "panel_3 has layout=none and should peresent if no child component
is rendered with id of a child component");
- Assert.assertFalse(isVisible(panel3Id + "_text"),
- "panel_3 has layout=none and should peresent if no child component
is rendered with display:none style");
- }
-
- @Test
- public void testRenderedAttribute(Template template) throws Exception {
- renderPage(template, RESET_METHOD);
- writeStatus("Testing rendered attribute...");
-
- String panelId = getParentId() + FORM_ID + PANEL4_ID;
-
- // panel_4 has rendered=true and should present on page
- AssertRendered(panelId);
-
- // change rendered attribute to false
- writeStatus("Click button 4");
- String buttonId = getParentId() + FORM_ID + BUTTON4_ID;
- clickCommandAndWait(buttonId);
-
- // panel_4 has rendered=false and should not present on page
- AssertNotRendered(panelId);
- }
-
- @Test
- public void testAjaxRenderedAttribute(Template template) throws Exception {
- renderPage(template, RESET_METHOD);
- // panel_1 has ajaxRendered=false and is reRender by b1
- // panel_2 has ajaxRendered=true
- writeStatus("Testing ajaxRendered attribute...");
-
- String parentId = getParentId() + FORM_ID;
- String panelId = parentId + PANEL1_ID + TEXT_SUFFIX;
- String panelId2 = parentId + PANEL2_ID + TEXT_SUFFIX;
- String buttonId = parentId + BUTTON2_ID;
- writeStatus("Click button 2");
- // set panel_1 text visible flag to false
- clickById(buttonId);
- waitForAjaxCompletion();
- // panel_1 text should be visible as it reRendered only by b1
- AssertPresentAndVisible(panelId, "panel_1 text should be visible as it
reRendered only by b1");
-
- // panel_2 text should not be visible as it has ajaxRendered=true
- AssertNotPresentOrNotVisible(panelId2, "panel_2 text should not be visible
as it has ajaxRendered=true");
-
- buttonId = parentId + BUTTON1_ID;
- writeStatus("Click button 1");
- clickById(buttonId);
- waitForAjaxCompletion();
- // panel text should NOT be visible as it reRendered by b1
- AssertNotPresentOrNotVisible(panelId, "panel_1 text should not be visible as
it reRendered by b1");
- }
-
- @Test
- public void testAjaxRenderedAttributeWithLimitToList(Template template) throws
Exception {
- renderPage(template, RESET_METHOD);
- // panel_1 has ajaxRendered=false and is reRender by b1 with
- // limitToList=true
- // panel_2 has ajaxRendered=true
- writeStatus("Testing ajaxRendered attribute with
limitToList=true...");
-
- String parentId = getParentId() + FORM_ID;
- String panelId2 = parentId + PANEL2_ID + TEXT_SUFFIX;
- String buttonId = parentId + BUTTON1_ID;
- String button2Id = parentId + BUTTON2_ID;
-
- Assert.assertTrue(isPresent(panelId2));
- writeStatus("Click button 1");
- // set panel_2 text visible flag to false
- clickById(buttonId);
- waitForAjaxCompletion();
- // panel_2 text should be visible as b1 has limitToList=true and
- // rerender only panel_1
- Assert.assertTrue(isPresent(panelId2),
- "panel_2 text should be visible as b1 has limitToList=true and
rerender only panel_1");
- writeStatus("Click button 2");
- clickById(button2Id);
- waitForAjaxCompletion();
- // panel_2 text should not be visible as it has ajaxRendered=true and b2
- // has limitToList=false
- Assert.assertFalse(isPresent(panelId2),
- "panel_2 text should not be visible as it has ajaxRendered=true and
b2 has limitToList=false");
- }
-
- @Test
- public void testOnDoubleClickEvent(Template template) throws Exception {
- renderPage(template);
- String parentId = getParentId() + FORM_ID;
- String panelId = parentId + "panel_5";
- String panelResultId = panelId + RESULT_SUFFIX;
- writeStatus("Check ondoubleclick event");
- AssertTextEquals(panelResultId, "No");
- selenium.doubleClick(panelId);
- AssertTextEquals(panelResultId, "Yes");
- }
-
- @Test
- public void testOnKeyDownEvent(Template template) throws Exception {
- renderPage(template);
- String parentId = getParentId() + FORM_ID;
- String panelId = parentId + "panel_6";
- String panelResultId = panelId + RESULT_SUFFIX;
- writeStatus("Check onkeydown event");
- AssertTextEquals(panelResultId, "No");
- selenium.keyDown(panelId, "1");
- AssertTextEquals(panelResultId, "Yes");
- }
-
- @Test
- public void testOnKeyPressEvent(Template template) throws Exception {
- renderPage(template);
- String parentId = getParentId() + FORM_ID;
- String panelId = parentId + "panel_7";
- String panelResultId = panelId + RESULT_SUFFIX;
- writeStatus("Check onkeypress event");
- AssertTextEquals(panelResultId, "No");
- selenium.keyPress(panelId, "1");
- AssertTextEquals(panelResultId, "Yes");
- }
-
- @Test
- public void testOnKeyUpEvent(Template template) throws Exception {
- renderPage(template);
- String parentId = getParentId() + FORM_ID;
- String panelId = parentId + "panel_8";
- String panelResultId = panelId + RESULT_SUFFIX;
- writeStatus("Check onkeyup event");
- AssertTextEquals(panelResultId, "No");
- selenium.keyUp(panelId, "1");
- AssertTextEquals(panelResultId, "Yes");
- }
-
- @Test
- public void testOnMouseDownEvent(Template template) throws Exception {
- renderPage(template);
- String parentId = getParentId() + FORM_ID;
- String panelId = parentId + "panel_9";
- String panelResultId = panelId + RESULT_SUFFIX;
- writeStatus("Check onmousedown event");
- AssertTextEquals(panelResultId, "No");
- selenium.mouseDown(panelId);
- AssertTextEquals(panelResultId, "Yes");
- }
-
- @Test
- public void testOnMouseMoveEvent(Template template) throws Exception {
- renderPage(template);
- String parentId = getParentId() + FORM_ID;
- String panelId = parentId + "panel_10";
- String panelResultId = panelId + RESULT_SUFFIX;
- writeStatus("Check onmousemove event");
- AssertTextEquals(panelResultId, "No");
- selenium.mouseMove(panelId);
- AssertTextEquals(panelResultId, "Yes");
- }
-
- @Test
- public void testOnMouseOutEvent(Template template) throws Exception {
- renderPage(template);
- String parentId = getParentId() + FORM_ID;
- String panelId = parentId + "panel_11";
- String panelResultId = panelId + RESULT_SUFFIX;
- writeStatus("Check onmouseout event");
- AssertTextEquals(panelResultId, "No");
- selenium.mouseOut(panelId);
- AssertTextEquals(panelResultId, "Yes");
- }
-
- @Test
- public void testOnMouseOverEvent(Template template) throws Exception {
- renderPage(template);
- String parentId = getParentId() + FORM_ID;
- String panelId = parentId + "panel_12";
- String panelResultId = panelId + RESULT_SUFFIX;
- writeStatus("Check onmouseover event");
- AssertTextEquals(panelResultId, "No");
- selenium.mouseOver(panelId);
- AssertTextEquals(panelResultId, "Yes");
- }
-
- @Test
- public void testOnMouseUpEvent(Template template) throws Exception {
- renderPage(template);
- String parentId = getParentId() + FORM_ID;
- String panelId = parentId + "panel_13";
- String panelResultId = panelId + RESULT_SUFFIX;
- writeStatus("Check onmouseup event");
- AssertTextEquals(panelResultId, "No");
- selenium.mouseUp(panelId);
- AssertTextEquals(panelResultId, "Yes");
- }
-
- @Test
- public void testOnClickEvent(Template template) throws Exception {
- renderPage(template);
- String parentId = getParentId() + FORM_ID;
- String panelId = parentId + "panel_14";
- String panelResultId = panelId + RESULT_SUFFIX;
- writeStatus("Check onclick event");
- AssertTextEquals(panelResultId, "No");
- selenium.click(panelId);
- AssertTextEquals(panelResultId, "Yes");
- }
-
- private void clickReset() {
- String buttonId = getParentId() + FORM_ID + RESET_BUTTON_ID;
- writeStatus("Click reset button");
- clickCommandAndWait(buttonId);
- }
-
+ /**
+ * output panel is present in browser together with nested elements
+ */
+ @Test
+ public void testPresent(Template template) {
+ init(template);
+ Assert.assertTrue(selenium.isElementPresent(outputPanel));
+ Assert.assertTrue(selenium.isElementPresent(outputText));
+ }
+
+ @Test
+ public void testLayoutAttribute(Template template) {
+ init(template);
+ Assert.assertEquals(selenium.getAttribute("xpath=id('" + mainForm +
"')/span/span/span@id"), outputText);
+ selenium.type(layout, "block");
+ waitForAjaxCompletion();
+ Assert.assertEquals(selenium.getAttribute("xpath=id('" + mainForm +
"')/span/div/span@id"), outputText);
+ selenium.type(layout, "none");
+ waitForAjaxCompletion();
+ Assert.assertEquals(selenium.getAttribute("xpath=id('" + mainForm +
"')/span/span@id"), outputText);
+ }
+
@Override
public String getTestUrl() {
return "pages/ajaxOutputPanel/ajaxOutputPanelTest.xhtml";