KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > displaytag > jsptests > ExternalSortTest


1 package org.displaytag.jsptests;
2
3 import org.displaytag.tags.TableTagParameters;
4 import org.displaytag.test.DisplaytagCase;
5 import org.displaytag.util.ParamEncoder;
6
7 import com.meterware.httpunit.GetMethodWebRequest;
8 import com.meterware.httpunit.WebLink;
9 import com.meterware.httpunit.WebRequest;
10 import com.meterware.httpunit.WebResponse;
11 import com.meterware.httpunit.WebTable;
12
13
14 /**
15  * Basic tests for pagination.
16  * @author Fabrizio Giustina
17  * @version $Revision: 1024 $ ($Author: fgiust $)
18  */

19 public class ExternalSortTest extends DisplaytagCase
20 {
21
22     /**
23      * @see org.displaytag.test.DisplaytagCase#getJspName()
24      */

25     public String JavaDoc getJspName()
26     {
27         return "externalSort.jsp";
28     }
29
30     /**
31      * Verifies that the generated page contains the pagination links with the inupt parameter. Tests #917200 ("{}" in
32      * parameters).
33      * @param jspName jsp name, with full path
34      * @throws Exception any axception thrown during test.
35      */

36     public void doTest(String JavaDoc jspName) throws Exception JavaDoc
37     {
38
39         WebRequest request = new GetMethodWebRequest(jspName);
40         ParamEncoder p1 = new ParamEncoder("table");
41         ParamEncoder p2 = new ParamEncoder("table2");
42
43         request.setParameter(p2.encodeParameterName(TableTagParameters.PARAMETER_SORT), "number");
44         request.setParameter(p2.encodeParameterName(TableTagParameters.PARAMETER_SORTUSINGNAME), "1");
45
46         WebResponse response = runner.getResponse(request);
47
48         if (log.isDebugEnabled())
49         {
50             log.debug("RESPONSE: " + response.getText());
51         }
52
53         WebLink[] links = response.getLinks();
54
55         assertEquals("0", links[0].getParameterValues(p1.encodeParameterName(TableTagParameters.PARAMETER_SORT))[0]);
56         assertEquals("2", links[0].getParameterValues(p1.encodeParameterName(TableTagParameters.PARAMETER_ORDER))[0]);
57
58         assertEquals("buzz", links[1].getParameterValues(p1.encodeParameterName(TableTagParameters.PARAMETER_SORT))[0]);
59         assertEquals("2", links[1].getParameterValues(p1.encodeParameterName(TableTagParameters.PARAMETER_ORDER))[0]);
60
61         // test that the column with sortName buzz was set as sorted and now has a link to sort desc
62
assertEquals(
63             "number",
64             links[2].getParameterValues(p2.encodeParameterName(TableTagParameters.PARAMETER_SORT))[0]);
65         assertEquals("1", links[2].getParameterValues(p2.encodeParameterName(TableTagParameters.PARAMETER_ORDER))[0]);
66
67         // now ensure that our data has not been sorted at all since we are doing it 'externally'
68
WebTable[] tables = response.getTables();
69         assertEquals("1", tables[1].getCellAsText(1, 0));
70         assertEquals("4", tables[1].getCellAsText(2, 0));
71         assertEquals("2", tables[1].getCellAsText(3, 0));
72         assertEquals("3", tables[1].getCellAsText(4, 0));
73     }
74 }
Popular Tags