You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2007/01/01 19:22:34 UTC

svn commit: r491607 - in /tapestry/tapestry5/tapestry-core/trunk/src: main/java/org/apache/tapestry/test/TapestryTestCase.java test/conf/testng.xml test/java/org/apache/tapestry/validator/ test/java/org/apache/tapestry/validator/RequiredTest.java

Author: hlship
Date: Mon Jan  1 10:22:33 2007
New Revision: 491607

URL: http://svn.apache.org/viewvc?view=rev&rev=491607
Log:
Add test for Required validator

Added:
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/validator/
    tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/validator/RequiredTest.java
Modified:
    tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/test/TapestryTestCase.java
    tapestry/tapestry5/tapestry-core/trunk/src/test/conf/testng.xml

Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/test/TapestryTestCase.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/test/TapestryTestCase.java?view=diff&rev=491607&r1=491606&r2=491607
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/test/TapestryTestCase.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/test/TapestryTestCase.java Mon Jan  1 10:22:33 2007
@@ -575,4 +575,9 @@
     {
         expect(model.getPersistentFieldNames()).andReturn(Arrays.asList(names)).atLeastOnce();
     }
+
+    protected final Messages newMessages()
+    {
+        return newMock(Messages.class);
+    }
 }

Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/conf/testng.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/conf/testng.xml?view=diff&rev=491607&r1=491606&r2=491607
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/conf/testng.xml (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/conf/testng.xml Mon Jan  1 10:22:33 2007
@@ -34,6 +34,7 @@
       <package name="org.apache.tapestry.runtime"/>
       <package name="org.apache.tapestry.internal.bindings"/>
       <package name="org.apache.tapestry.internal.model"/>
+      <package name="org.apache.tapestry.validator"/>
     </packages>
   </test>
 </suite>

Added: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/validator/RequiredTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/validator/RequiredTest.java?view=auto&rev=491607
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/validator/RequiredTest.java (added)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/validator/RequiredTest.java Mon Jan  1 10:22:33 2007
@@ -0,0 +1,102 @@
+// Copyright 2006 The Apache Software Foundation
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package org.apache.tapestry.validator;
+
+import org.apache.tapestry.Field;
+import org.apache.tapestry.ValidationException;
+import org.apache.tapestry.ioc.Messages;
+import org.apache.tapestry.test.TapestryTestCase;
+import org.testng.annotations.Test;
+
+public class RequiredTest extends TapestryTestCase
+{
+    @Test
+    public void null_value()
+    {
+        Messages messages = newMessages();
+        Field field = newField("My Field");
+
+        train_format(messages, "required", "{message}", "My Field");
+
+        replay();
+
+        try
+        {
+            new Required().check(field, null, messages, null);
+            unreachable();
+        }
+        catch (ValidationException ex)
+        {
+            assertEquals(ex.getMessage(), "{message}");
+        }
+
+        verify();
+    }
+
+    @Test
+    public void blank_value()
+    {
+        Messages messages = newMessages();
+        Field field = newField("My Field");
+
+        train_format(messages, "required", "{message}", "My Field");
+
+        replay();
+
+        try
+        {
+            new Required().check(field, null, messages, "");
+            unreachable();
+        }
+        catch (ValidationException ex)
+        {
+            assertEquals(ex.getMessage(), "{message}");
+        }
+
+        verify();
+    }
+
+    @Test
+    public void non_blank_value() throws Exception
+    {
+        Messages messages = newMessages();
+        Field field = newField();
+
+        replay();
+
+        new Required().check(field, null, messages, "not null");
+
+        verify();
+    }
+
+    protected void train_format(Messages messages, String key, String result, Object... arguments)
+    {
+        expect(messages.format(key, arguments)).andReturn(result);
+    }
+
+    protected final Field newField(String label)
+    {
+        Field field = newField();
+
+        expect(field.getLabel()).andReturn(label).atLeastOnce();
+
+        return field;
+    }
+
+    protected final Field newField()
+    {
+        return newMock(Field.class);
+    }
+}