KickJava   Java API By Example, From Geeks To Geeks.

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


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: 853 $ ($Author: fgiust $)
18  */

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

25     public String JavaDoc getJspName()
26     {
27         return "partialList.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
41         ParamEncoder p2 = new ParamEncoder("table2");
42         ParamEncoder p3 = new ParamEncoder("table3");
43
44         request.setParameter(p2.encodeParameterName(TableTagParameters.PARAMETER_PAGE), "2"); // table 2 start page 2
45
request.setParameter(p3.encodeParameterName(TableTagParameters.PARAMETER_SORT), "0"); // table 3 sort 0
46
request.setParameter(p3.encodeParameterName(TableTagParameters.PARAMETER_ORDER), "1"); // table 3 order desc
47

48         WebResponse response = runner.getResponse(request);
49
50         if (log.isDebugEnabled())
51         {
52             log.debug("RESPONSE: " + response.getText());
53         }
54
55         WebLink[] links = response.getLinks();
56         WebTable[] tables = response.getTables();
57         // ensure all our search bar links contain page 2 as the param since we only have 2 pages
58
assertEquals("2", links[0].getParameterValues(p2.encodeParameterName(TableTagParameters.PARAMETER_PAGE))[0]);
59         assertEquals("2", links[1].getParameterValues(p2.encodeParameterName(TableTagParameters.PARAMETER_PAGE))[0]);
60         assertEquals("2", links[2].getParameterValues(p2.encodeParameterName(TableTagParameters.PARAMETER_PAGE))[0]);
61         assertEquals(3, tables[0].getRowCount()); // title row + 2 data's
62
assertEquals("1", tables[0].getCellAsText(1, 0));
63         assertEquals("4", tables[0].getCellAsText(2, 0));
64
65         // second table assertions
66
// links should point to first page
67
assertEquals("1", links[4].getParameterValues(p2.encodeParameterName(TableTagParameters.PARAMETER_PAGE))[0]);
68         assertEquals("1", links[5].getParameterValues(p2.encodeParameterName(TableTagParameters.PARAMETER_PAGE))[0]);
69         assertEquals("1", links[6].getParameterValues(p2.encodeParameterName(TableTagParameters.PARAMETER_PAGE))[0]);
70         assertEquals(3, tables[1].getRowCount()); // title row + 2 data's
71
assertEquals("1", tables[1].getCellAsText(1, 0));
72         assertEquals("4", tables[1].getCellAsText(2, 0));
73
74         // third table assertions
75
assertEquals(3, tables[2].getRowCount()); // title row + 2 data's
76
assertEquals("4", tables[2].getCellAsText(1, 0));
77         assertEquals("1", tables[2].getCellAsText(2, 0));
78     }
79 }
Popular Tags