Author: andrei_exadel
Date: 2008-10-16 04:54:43 -0400 (Thu, 16 Oct 2008)
New Revision: 10769
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/DataScrollerBean.java
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dataScroller/dataScroller.xhtml
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dataScroller/dataScrollerAjax.xhtml
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/SeleniumEvent.java
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/DataScrollerTest.java
Log:
DataScrollerTest: pageVars, custom facets, onpagechange
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/DataScrollerBean.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/DataScrollerBean.java 2008-10-16
07:40:54 UTC (rev 10768)
+++
trunk/test-applications/seleniumTest/richfaces/src/main/java/org/ajax4jsf/bean/DataScrollerBean.java 2008-10-16
08:54:43 UTC (rev 10769)
@@ -31,6 +31,10 @@
private Integer page;
+ private String onpagechange = "EventQueue.fire('onpagechange')";
+
+ private String reRender;
+
public DataScrollerBean() {
init();
@@ -41,7 +45,17 @@
return null;
}
+ public String onpagechange() {
+ onpagechange = "return false;";
+ return null;
+ }
+ public String pageVars() {
+ reRender = "activePage, pagesCount";
+ return null;
+ }
+
+
private void init() {
data = new ArrayList();
for (int i = 0; i < totalRows; i++) {
@@ -56,6 +70,7 @@
maxPages = 10;
page = null;
data = null;
+ onpagechange = "EventQueue.fire('onpagechange')";
}
public void apply(ActionEvent event) {
@@ -139,5 +154,33 @@
this.page = page;
}
+ /**
+ * @return the onpagechange
+ */
+ public String getOnpagechange() {
+ return onpagechange;
+ }
+
+ /**
+ * @param onpagechange the onpagechange to set
+ */
+ public void setOnpagechange(String onpagechange) {
+ this.onpagechange = onpagechange;
+ }
+
+ /**
+ * @return the reRender
+ */
+ public String getReRender() {
+ return reRender;
+ }
+
+ /**
+ * @param reRender the reRender to set
+ */
+ public void setReRender(String reRender) {
+ this.reRender = reRender;
+ }
+
}
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dataScroller/dataScroller.xhtml
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dataScroller/dataScroller.xhtml 2008-10-16
07:40:54 UTC (rev 10768)
+++
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dataScroller/dataScroller.xhtml 2008-10-16
08:54:43 UTC (rev 10769)
@@ -19,6 +19,8 @@
</table>
<h:commandButton id="apply"
actionListener="#{dataScrollerBean.apply}" value="apply"/>
<h:commandButton id="maxP"
action="#{dataScrollerBean.maxPages}" value="Test maxPages" />
+ <h:commandButton id="onpagechange"
action="#{dataScrollerBean.onpagechange}" value="Test onpagechange"
/>
+ <h:commandButton id="pageVars"
action="#{dataScrollerBean.pageVars}" value="Test page vars" />
</h:form>
<br/>
<h:form id="_data">
@@ -33,7 +35,18 @@
onmouseout="EventQueue.fire('onmouseout')"
onmouseover="EventQueue.fire('onmouseover')"
onmouseup="EventQueue.fire('onmouseup')"
- />
+ onpagechange="#{dataScrollerBean.onpagechange}"
+ reRender="#{dataScrollerBean.reRender}"
+ pageIndexVar="activePage"
+ pagesVar="pagesCount"
+ >
+ <f:facet name="next">
+ <h:outputText value="Next"></h:outputText>
+ </f:facet>
+ <f:facet name="previous">
+ <h:outputText value="Previous"></h:outputText>
+ </f:facet>
+ </rich:datascroller>
<br/>
@@ -54,7 +67,8 @@
</rich:dataTable>
<br/><br/>
-
+ <h:outputText id="activePage" value="Active page:
#{activePage}"></h:outputText>
+ <h:outputText id="pagesCount" value="Count of pages:
#{pagesCount}"></h:outputText>
</h:form>
</ui:define>
Modified:
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dataScroller/dataScrollerAjax.xhtml
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dataScroller/dataScrollerAjax.xhtml 2008-10-16
07:40:54 UTC (rev 10768)
+++
trunk/test-applications/seleniumTest/richfaces/src/main/webapp/pages/dataScroller/dataScrollerAjax.xhtml 2008-10-16
08:54:43 UTC (rev 10769)
@@ -21,6 +21,7 @@
bypassUpdates="#{autoTestBean.bypassUpdate}"
rendered="#{autoTestBean.rendered}"
oncomplete="#{autoTestBean.oncomplete}"
+ onpagechange="EventQueue.fire('onpagechange')"
<f:param name="parameter1"
value="value1" />
<f:actionListener type="org.ajax4jsf.autotest.bean.AutoTestListener"
/>
Modified:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/SeleniumEvent.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/SeleniumEvent.java 2008-10-16
07:40:54 UTC (rev 10768)
+++
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/SeleniumEvent.java 2008-10-16
08:54:43 UTC (rev 10769)
@@ -19,7 +19,13 @@
private String name;
- public static final List<SeleniumEvent> STANDARD_HTML_EVENTS = new
ArrayList<SeleniumEvent>();
+ @SuppressWarnings("serial")
+ public static final List<SeleniumEvent> STANDARD_HTML_EVENTS = new
ArrayList<SeleniumEvent>() {
+ @Override
+ public void clear() {
+
+ }
+ };
static {
STANDARD_HTML_EVENTS.add(ONCLICK);
STANDARD_HTML_EVENTS.add(ONMOUSEOVER);
Modified:
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/DataScrollerTest.java
===================================================================
---
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/DataScrollerTest.java 2008-10-16
07:40:54 UTC (rev 10768)
+++
trunk/test-applications/seleniumTest/richfaces/src/test/java/org/richfaces/testng/DataScrollerTest.java 2008-10-16
08:54:43 UTC (rev 10769)
@@ -51,7 +51,53 @@
"rich-datascr-button"
};
+ @SuppressWarnings("serial")
+ static final List<String> events = new ArrayList<String>(){
+ @Override
+ public void clear() {
+
+ }
+ };
+ static {
+ events.add("onpagechange");
+ }
+
@Test
+ public void testPagesVariables(Template template) {
+ renderPage(template, RESET_METHOD_ME);
+ initIDs(getParentId(), template);
+ String commandId = getParentId() + "_controls:pageVars";
+ clickCommandAndWait(commandId);
+
+ String activePageId = getParentId() + "_data:activePage";
+ String pageCountId = getParentId() + "_data:pagesCount";
+
+ AssertTextEquals(activePageId, "Active page: 1", "PageIndexVar does not
work.");
+ AssertTextEquals(pageCountId, "Count of pages: 10", "PagesVar does not
work.");
+
+ clickControl(4);
+
+ AssertTextEquals(activePageId, "Active page: 2", "PageIndexVar does not
work.");
+ AssertTextEquals(pageCountId, "Count of pages: 10", "PagesVar does not
work.");
+
+ }
+
+
+ @Test
+ public void testCancelableOnpagechnage(Template template) {
+ renderPage(template, RESET_METHOD_ME);
+ initIDs(getParentId(), template);
+ String commandId = getParentId() + "_controls:onpagechange";
+ clickCommandAndWait(commandId);
+
+ assertClassNames(getPageLinkRefScript(4), inactivePageClasses, "'2' Link
should be inactive", false);
+ clickControlNotWait(4);
+ assertClassNames(getPageLinkRefScript(4), inactivePageClasses, "Cancelable
onpagechnage does not work. Page should not be switched. .'2' Link should be
inactive", false);
+
+ }
+
+
+ @Test
public void testAutoAjaxAttributes(Template template) {
AutoTester autoTester = getAutoTester(this);
@@ -256,8 +302,10 @@
testPageCount(16);
testControls();
testData(1,"Page 1");
+ checkCustomFacets();
}
+
private void testPageCount(int n) {
assertColumnsCount(n, dataScrollerTableId, "DataScroller inner table contains
invalid columns count");
}
@@ -301,6 +349,26 @@
}
+ private void checkCustomFacets() {
+ String text = selenium.getTable("id=" + dataScrollerTableId +
".0.2");
+ Assert.assertEquals("", text, "'Previous' facet should be
rendered yet");
+ assertClassNames(getPageLinkRefScript(2),inactiveForwardClasses,
+ "DataScroller rendering failed: ", false);
+
+ text = selenium.getTable("id=" + dataScrollerTableId + ".0.13");
+ Assert.assertEquals("Next", text, "'Next' facet didnot rendered.
DataScroller does not contain 'Next' link or its position is invalid");
+ assertClassNames(getPageLinkRefScript(13),activeForwardClasses,
+ "DataScroller rendering failed: ", false);
+ clickControl(4);
+
+ text = selenium.getTable("id=" + dataScrollerTableId + ".0.2");
+ Assert.assertEquals("Previous", text, "'Previous' facet didnot
be rendered.");
+ assertClassNames(getPageLinkRefScript(2),activeForwardClasses,
+ "DataScroller rendering failed: ", false);
+
+
+ }
+
private void testData(int rowCount, String data) {
assertRowsCount(rowCount, dataTableId);
@@ -326,8 +394,16 @@
b.append(".onclick();");
selenium.getEval(b.toString());
waitForAjaxCompletion();
+ assertEvents(events);
}
+ private void clickControlNotWait(int n) {
+ StringBuffer b = new StringBuffer();
+ b.append(getPageLinkRefScript(n));
+ b.append(".onclick();");
+ selenium.getEval(b.toString());
+ }
+
/* (non-Javadoc)
* @see org.richfaces.SeleniumTestBase#getTestUrl()
*/