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.WebRequest;
9 import com.meterware.httpunit.WebResponse;
10 import com.meterware.httpunit.WebTable;
11
12
13 /**
14 * Test for DISPL-209 - getListIndex() does not return the real list index. Note: the result is different from the one
15 * expected from the decription in the Jira report, but after the test it was clear that there is no usable way to get
16 * the desired result.
17 * @author Fabrizio Giustina
18 * @version $Id$
19 */
20 public class Displ209Test extends DisplaytagCase
21 {
22
23 /**
24 * @see org.displaytag.test.DisplaytagCase#getJspName()
25 */
26 public String getJspName()
27 {
28 return "DISPL-209.jsp";
29 }
30
31 /**
32 * Check list index/view index values.
33 * @param jspName jsp name, with full path
34 * @throws Exception any axception thrown during test.
35 */
36 public void doTest(String jspName) throws Exception
37 {
38 WebRequest request = new GetMethodWebRequest(jspName);
39 WebResponse response = runner.getResponse(request);
40
41 ParamEncoder encoder = new ParamEncoder("table");
42 request.setParameter(encoder.encodeParameterName(TableTagParameters.PARAMETER_PAGE), "2");
43
44 if (log.isDebugEnabled())
45 {
46 log.debug(response.getText());
47 }
48
49 WebTable[] tables = response.getTables();
50 assertEquals("Wrong number of tables in result.", 1, tables.length);
51 assertEquals("Wrong number of rows in result.", 4, tables[0].getRowCount());
52
53 if (log.isDebugEnabled())
54 {
55 log.debug(response.getText());
56 }
57
58 assertEquals("Wrong value", "a", tables[0].getCellAsText(1, 0));
59 assertEquals("Wrong viewIndex", "0", tables[0].getCellAsText(1, 1));
60 assertEquals("Wrong listIndex", "0", tables[0].getCellAsText(1, 2));
61
62 assertEquals("Wrong value", "b", tables[0].getCellAsText(2, 0));
63 assertEquals("Wrong viewIndex", "1", tables[0].getCellAsText(2, 1));
64 assertEquals("Wrong listIndex", "1", tables[0].getCellAsText(2, 2));
65
66 assertEquals("Wrong value", "c", tables[0].getCellAsText(3, 0));
67 assertEquals("Wrong viewIndex", "2", tables[0].getCellAsText(3, 1));
68 assertEquals("Wrong listIndex", "2", tables[0].getCellAsText(3, 2));
69 }
70
71 }