@Test
public final void testFilteringWithoutClean() throws IOException {

    FacesRequest facesRequest = startFacesRequest();
    FacesContext facesContext = FacesContext.getCurrentInstance();
    AbstractExtendedDataTable component = (AbstractExtendedDataTable) 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);
    assertNull(column1Attributes.get("filterValue"));
    assertEquals("filterValue2", column2Attributes.get("filterValue"));
    facesRequest.withParameter(clientId, clientId);
    facesRequest.withParameter(clientId + "rich:filtering", "column1:filterValue1:null");
    renderer.doDecode(facesContext, component);
    assertEquals("filterValue1", column1Attributes.get("filterValue"));
    assertEquals("filterValue2", column2Attributes.get("filterValue"));
    assertTrue(facesContext.getPartialViewContext().getRenderIds().contains(clientId));
    facesRequest.release();
}