1   package com.diasparsoftware.javax.servlet.test;
2   
3   import junit.framework.TestCase;
4   
5   import org.apache.catalina.connector.HttpRequestBase;
6   
7   import com.diasparsoftware.javax.servlet.ServletUtil;
8   
9   public class ParameterMapToStringTest extends TestCase {
10      private HttpRequestBase request;
11  
12      protected void setUp() {
13          request = new HttpRequestBase();
14          // ACCIDENT  If you don't clear the parameters, addParameter() will hurl
15          request.clearParameters();
16      }
17  
18      public void testEmptyRequest() throws Exception {
19          assertEquals("{}", ServletUtil.parameterMapToString(request));
20      }
21  
22      public void testOneParameterOneItem() throws Exception {
23          request.addParameter("name", new String[] { "value" });
24          assertEquals(
25              "{name=[value]}",
26              ServletUtil.parameterMapToString(request));
27      }
28  
29      public void testOneParameterTwoItems() throws Exception {
30          request.addParameter("name", new String[] { "value1", "value2" });
31          assertEquals(
32              "{name=[value1, value2]}",
33              ServletUtil.parameterMapToString(request));
34      }
35  
36      public void testTwoParameterTwoItems() throws Exception {
37          // BRITTLE  This test asserts on a string that we don't build
38          request.addParameter("name1", new String[] { "value1", "value2" });
39          request.addParameter("name2", new String[] { "value3", "value4" });
40          assertEquals(
41              "{name2=[value3, value4], name1=[value1, value2]}",
42              ServletUtil.parameterMapToString(request));
43      }
44  }