Title: [waffle-scm] [553] trunk/waffle-core/src/test/java/org/codehaus/waffle/registrar/pico/RequestParameterParameterTest.java: WAFFLE-55 : missed test on last issue checkin
Revision
553
Author
mward
Date
2008-01-16 20:56:03 -0600 (Wed, 16 Jan 2008)

Log Message

WAFFLE-55 : missed test on last issue checkin

Modified Paths

Diff

Modified: trunk/waffle-core/src/test/java/org/codehaus/waffle/registrar/pico/RequestParameterParameterTest.java (552 => 553)

--- trunk/waffle-core/src/test/java/org/codehaus/waffle/registrar/pico/RequestParameterParameterTest.java	2008-01-17 02:55:01 UTC (rev 552)
+++ trunk/waffle-core/src/test/java/org/codehaus/waffle/registrar/pico/RequestParameterParameterTest.java	2008-01-17 02:56:03 UTC (rev 553)
@@ -30,7 +30,7 @@
 
     @Test
     public void componentDependsOnRequestParameter() {
-        // Mock
+        // Mock StringTransmuter
         final StringTransmuter stringTransmuter = mockery.mock(StringTransmuter.class);
 
         // Mock HttpServletRequest
@@ -44,7 +44,7 @@
             }
         });
 
-        Parameter[] parameters = {new RequestParameterParameter("foobar", stringTransmuter)};
+        Parameter[] parameters = {new RequestParameterParameter("foobar", stringTransmuter, null)};
 
         MutablePicoContainer pico = new DefaultPicoContainer();
         pico.registerComponentInstance(request);
@@ -54,4 +54,31 @@
 
         assertEquals("helloWorld", dependsOnValue.getValue());
     }
+
+    @Test
+    public void willReturnDefaultValueWhenTransmuterReturnsNull() {
+        // Mock StringTransmuter
+        final StringTransmuter stringTransmuter = mockery.mock(StringTransmuter.class);
+
+        // Mock HttpServletRequest
+        final HttpServletRequest request = mockery.mock(HttpServletRequest.class);
+        mockery.checking(new Expectations() {
+            {
+                exactly(2).of(request).getParameter("foobar");
+                will(returnValue(null));
+                exactly(2).of(stringTransmuter).transmute(null, String.class);
+                will(returnValue(null));
+            }
+        });
+
+        Parameter[] parameters = {new RequestParameterParameter("foobar", stringTransmuter, "the default value")};
+
+        MutablePicoContainer pico = new DefaultPicoContainer();
+        pico.registerComponentInstance(request);
+        pico.registerComponentImplementation("x", DependsOnValue.class, parameters);
+
+        DependsOnValue dependsOnValue = (DependsOnValue) pico.getComponentInstance("x");
+
+        assertEquals("the default value", dependsOnValue.getValue());
+    }
 }


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to