Author: konstantin.mishin
Date: 2010-05-15 12:39:08 -0400 (Sat, 15 May 2010)
New Revision: 17065
Modified:
root/ui-sandbox/tables/trunk/ui/src/test/java/org/richfaces/renderkit/ExtendedDataTableRendererTest.java
root/ui-sandbox/tables/trunk/ui/src/test/resources/extendedDataTableTest.xhtml
Log:
RF-8481
Modified:
root/ui-sandbox/tables/trunk/ui/src/test/java/org/richfaces/renderkit/ExtendedDataTableRendererTest.java
===================================================================
---
root/ui-sandbox/tables/trunk/ui/src/test/java/org/richfaces/renderkit/ExtendedDataTableRendererTest.java 2010-05-15
14:26:04 UTC (rev 17064)
+++
root/ui-sandbox/tables/trunk/ui/src/test/java/org/richfaces/renderkit/ExtendedDataTableRendererTest.java 2010-05-15
16:39:08 UTC (rev 17065)
@@ -16,6 +16,7 @@
import javax.faces.application.ViewHandler;
import javax.faces.context.FacesContext;
import javax.faces.view.ViewDeclarationLanguage;
+import javax.swing.SortOrder;
import org.jboss.test.faces.FacesEnvironment.FacesRequest;
import org.jboss.test.faces.htmlunit.HtmlUnitEnvironment;
@@ -48,6 +49,17 @@
environment = null;
}
+ private FacesRequest startFacesRequest() throws IOException {
+ FacesRequest facesRequest =
environment.createFacesRequest("http://localhost/extendedDataTableTest.jsf");
+ facesRequest.withViewId("/extendedDataTableTest.jsf");
+ facesRequest.start();
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+ ViewHandler vh = facesContext.getApplication().getViewHandler();
+ ViewDeclarationLanguage vdl = vh.getViewDeclarationLanguage(facesContext,
facesContext.getViewRoot()
+ .getViewId());
+ vdl.buildView(facesContext, facesContext.getViewRoot());
+ return facesRequest;
+ }
/**
* Test method for {@link
org.richfaces.renderkit.ExtendedDataTableRenderer#getComponentClass()}.
*
@@ -55,14 +67,8 @@
*/
@Test
public final void testGetComponentClass() throws IOException {
- FacesRequest facesRequest =
environment.createFacesRequest("http://localhost/extendedDataTableTest.jsf");
- facesRequest.withViewId("/extendedDataTableTest.jsf");
- facesRequest.start();
+ FacesRequest facesRequest = startFacesRequest();
FacesContext facesContext = FacesContext.getCurrentInstance();
- ViewHandler vh = facesContext.getApplication().getViewHandler();
- ViewDeclarationLanguage vdl = vh.getViewDeclarationLanguage(facesContext,
facesContext.getViewRoot()
- .getViewId());
- vdl.buildView(facesContext, facesContext.getViewRoot());
UIExtendedDataTable component = (UIExtendedDataTable)
facesContext.getViewRoot().findComponent("table");
ExtendedDataTableRenderer renderer = (ExtendedDataTableRenderer)
FacesContext.getCurrentInstance()
.getRenderKit().getRenderer(component.getFamily(),
component.getRendererType());
@@ -179,14 +185,8 @@
@Test
public final void testFilteringWithoutClean() throws IOException {
- FacesRequest facesRequest =
environment.createFacesRequest("http://localhost/extendedDataTableTest.jsf");
- facesRequest.withViewId("/extendedDataTableTest.jsf");
- facesRequest.start();
+ FacesRequest facesRequest = startFacesRequest();
FacesContext facesContext = FacesContext.getCurrentInstance();
- ViewHandler vh = facesContext.getApplication().getViewHandler();
- ViewDeclarationLanguage vdl = vh.getViewDeclarationLanguage(facesContext,
facesContext.getViewRoot()
- .getViewId());
- vdl.buildView(facesContext, facesContext.getViewRoot());
UIExtendedDataTable component = (UIExtendedDataTable)
facesContext.getViewRoot().findComponent("table");
ExtendedDataTableRenderer renderer = (ExtendedDataTableRenderer)
FacesContext.getCurrentInstance()
.getRenderKit().getRenderer(component.getFamily(),
component.getRendererType());
@@ -206,14 +206,8 @@
@Test
public final void testFilteringWithClean() throws IOException {
- FacesRequest facesRequest =
environment.createFacesRequest("http://localhost/extendedDataTableTest.jsf");
- facesRequest.withViewId("/extendedDataTableTest.jsf");
- facesRequest.start();
+ FacesRequest facesRequest = startFacesRequest();
FacesContext facesContext = FacesContext.getCurrentInstance();
- ViewHandler vh = facesContext.getApplication().getViewHandler();
- ViewDeclarationLanguage vdl = vh.getViewDeclarationLanguage(facesContext,
facesContext.getViewRoot()
- .getViewId());
- vdl.buildView(facesContext, facesContext.getViewRoot());
UIExtendedDataTable component = (UIExtendedDataTable)
facesContext.getViewRoot().findComponent("table");
ExtendedDataTableRenderer renderer = (ExtendedDataTableRenderer)
FacesContext.getCurrentInstance()
.getRenderKit().getRenderer(component.getFamily(),
component.getRendererType());
@@ -233,17 +227,11 @@
@Test
public final void testColumnResizing() throws IOException {
- FacesRequest facesRequest =
environment.createFacesRequest("http://localhost/extendedDataTableTest.jsf");
- facesRequest.withViewId("/extendedDataTableTest.jsf");
- facesRequest.start();
+ FacesRequest facesRequest = startFacesRequest();
FacesContext facesContext = FacesContext.getCurrentInstance();
- ViewHandler vh = facesContext.getApplication().getViewHandler();
- ViewDeclarationLanguage vdl = vh.getViewDeclarationLanguage(facesContext,
facesContext.getViewRoot()
- .getViewId());
- vdl.buildView(facesContext, facesContext.getViewRoot());
UIExtendedDataTable component = (UIExtendedDataTable)
facesContext.getViewRoot().findComponent("table");
ExtendedDataTableRenderer renderer = (ExtendedDataTableRenderer)
FacesContext.getCurrentInstance()
- .getRenderKit().getRenderer(component.getFamily(), component.getRendererType());
+ .getRenderKit().getRenderer(component.getFamily(),
component.getRendererType());
Map<String, Object> column1Attributes =
component.findComponent("column1").getAttributes();
assertNull(column1Attributes.get("width"));
facesRequest.withParameter(component.getClientId(facesContext) + ":wi",
"column1:200px");
@@ -254,14 +242,8 @@
@Test
public final void testColumnReordering() throws IOException {
- FacesRequest facesRequest =
environment.createFacesRequest("http://localhost/extendedDataTableTest.jsf");
- facesRequest.withViewId("/extendedDataTableTest.jsf");
- facesRequest.start();
+ FacesRequest facesRequest = startFacesRequest();
FacesContext facesContext = FacesContext.getCurrentInstance();
- ViewHandler vh = facesContext.getApplication().getViewHandler();
- ViewDeclarationLanguage vdl = vh.getViewDeclarationLanguage(facesContext,
facesContext.getViewRoot()
- .getViewId());
- vdl.buildView(facesContext, facesContext.getViewRoot());
UIExtendedDataTable component = (UIExtendedDataTable)
facesContext.getViewRoot().findComponent("table");
ExtendedDataTableRenderer renderer = (ExtendedDataTableRenderer)
FacesContext.getCurrentInstance()
.getRenderKit().getRenderer(component.getFamily(),
component.getRendererType());
@@ -276,4 +258,46 @@
(String[]) componentAttributes.get("columnsOrder")));
facesRequest.release();
}
+
+ @Test
+ public final void testSortingWithoutClean() throws IOException {
+ FacesRequest facesRequest = startFacesRequest();
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+ UIExtendedDataTable component = (UIExtendedDataTable)
facesContext.getViewRoot().findComponent("table");
+ ExtendedDataTableRenderer renderer = (ExtendedDataTableRenderer)
FacesContext.getCurrentInstance()
+ .getRenderKit().getRenderer(component.getFamily(),
component.getRendererType());
+ Map<String, Object> column1Attributes =
component.findComponent("column1").getAttributes();
+ Map<String, Object> column2Attributes =
component.findComponent("column2").getAttributes();
+ String clientId = component.getClientId(facesContext);
+ assertEquals(SortOrder.UNSORTED, column1Attributes.get("sortOrder"));
+ assertEquals(SortOrder.ASCENDING, column2Attributes.get("sortOrder"));
+ facesRequest.withParameter(clientId, clientId);
+ facesRequest.withParameter(clientId + "rich:sorting",
"column1:null:null");
+ renderer.doDecode(facesContext, component);
+ assertEquals(SortOrder.ASCENDING, column1Attributes.get("sortOrder"));
+ assertEquals(SortOrder.ASCENDING, column2Attributes.get("sortOrder"));
+
assertTrue(facesContext.getPartialViewContext().getRenderIds().contains(clientId));
+ facesRequest.release();
+ }
+
+ @Test
+ public final void testSortingWithClean() throws IOException {
+ FacesRequest facesRequest = startFacesRequest();
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+ UIExtendedDataTable component = (UIExtendedDataTable)
facesContext.getViewRoot().findComponent("table");
+ ExtendedDataTableRenderer renderer = (ExtendedDataTableRenderer)
FacesContext.getCurrentInstance()
+ .getRenderKit().getRenderer(component.getFamily(),
component.getRendererType());
+ Map<String, Object> column1Attributes =
component.findComponent("column1").getAttributes();
+ Map<String, Object> column2Attributes =
component.findComponent("column2").getAttributes();
+ String clientId = component.getClientId(facesContext);
+ assertEquals(SortOrder.UNSORTED, column1Attributes.get("sortOrder"));
+ assertEquals(SortOrder.ASCENDING, column2Attributes.get("sortOrder"));
+ facesRequest.withParameter(clientId, clientId);
+ facesRequest.withParameter(clientId + "rich:sorting",
"column1:DESCENDING:true");
+ renderer.doDecode(facesContext, component);
+ assertEquals(SortOrder.DESCENDING,
column1Attributes.get("sortOrder"));
+ assertEquals(SortOrder.UNSORTED, column2Attributes.get("sortOrder"));
+
assertTrue(facesContext.getPartialViewContext().getRenderIds().contains(clientId));
+ facesRequest.release();
+ }
}
Modified: root/ui-sandbox/tables/trunk/ui/src/test/resources/extendedDataTableTest.xhtml
===================================================================
---
root/ui-sandbox/tables/trunk/ui/src/test/resources/extendedDataTableTest.xhtml 2010-05-15
14:26:04 UTC (rev 17064)
+++
root/ui-sandbox/tables/trunk/ui/src/test/resources/extendedDataTableTest.xhtml 2010-05-15
16:39:08 UTC (rev 17065)
@@ -35,7 +35,7 @@
</h:head>
<h:body>
- <rich:extendedDataTable id="table" frozenColumns="1"
value="value" var="var">
+ <rich:extendedDataTable id="table" frozenColumns="1"
value="value" var="var" sortMode="multi">
<f:facet name="header">
<h:outputText id="headerFacet" value="headerFacet"/>
</f:facet>
@@ -54,7 +54,7 @@
<h:outputText id="footerColumnFacet1"
value="footerColumnFacet1"/>
</f:facet>
</rich:column>
- <rich:column id="column2" filterValue="filterValue2">
+ <rich:column id="column2" filterValue="filterValue2"
sortOrder="ASCENDING">
<f:facet name="header">
<h:outputText id="headerColumnFacet2"
value="headerColumnFacet2"/>
</f:facet>