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/03/13 16:47:07 UTC
svn commit: r517739 - in /tapestry/tapestry5/tapestry-core/trunk/src:
main/java/org/apache/tapestry/translator/StringTranslator.java
test/java/org/apache/tapestry/translator/StringTranslatorTest.java
Author: hlship
Date: Tue Mar 13 08:47:07 2007
New Revision: 517739
URL: http://svn.apache.org/viewvc?view=rev&rev=517739
Log:
TAPESTRY-1270: The StringTranslator should return null when an empty text field is submitted with a form, not the empty string
Added:
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/translator/StringTranslatorTest.java
Modified:
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/translator/StringTranslator.java
Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/translator/StringTranslator.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/translator/StringTranslator.java?view=diff&rev=517739&r1=517738&r2=517739
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/translator/StringTranslator.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/translator/StringTranslator.java Tue Mar 13 08:47:07 2007
@@ -17,13 +17,14 @@
import org.apache.tapestry.Translator;
import org.apache.tapestry.ValidationException;
import org.apache.tapestry.ioc.Messages;
+import org.apache.tapestry.ioc.internal.util.InternalUtils;
public class StringTranslator implements Translator<String>
{
- /** Returns the client value (or the empty string, if the client value is null). */
+ /** Returns the client value (or null, if the client value is blank). */
public String parseClient(String clientValue, Messages messages) throws ValidationException
{
- return clientValue == null ? "" : clientValue;
+ return InternalUtils.isBlank(clientValue) ? null : clientValue;
}
/** Returns the value, or the empty string if value is null. */
Added: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/translator/StringTranslatorTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/translator/StringTranslatorTest.java?view=auto&rev=517739
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/translator/StringTranslatorTest.java (added)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/translator/StringTranslatorTest.java Tue Mar 13 08:47:07 2007
@@ -0,0 +1,62 @@
+// Copyright 2007 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.translator;
+
+import org.apache.tapestry.Translator;
+import org.apache.tapestry.internal.test.InternalBaseTestCase;
+import org.apache.tapestry.ioc.Messages;
+import org.testng.annotations.Test;
+
+/**
+ * Tests for the {@link StringTranslator} class.
+ */
+public class StringTranslatorTest extends InternalBaseTestCase
+{
+ @Test
+ public void from_client_normal() throws Exception
+ {
+ Messages messages = validationMessages();
+
+ Translator<String> translator = new StringTranslator();
+
+ assertEquals(translator.parseClient("abc", messages), "abc");
+ }
+
+ @Test
+ public void from_client_blank_to_null() throws Exception
+ {
+ Messages messages = validationMessages();
+
+ Translator<String> translator = new StringTranslator();
+
+ assertNull(translator.parseClient("", messages));
+ }
+
+ @Test
+ public void to_client_normal()
+ {
+ Translator<String> translator = new StringTranslator();
+
+ assertEquals(translator.toClient("abc"), "abc");
+ }
+
+ @Test
+ public void to_client_null_to_blank()
+ {
+ Translator<String> translator = new StringTranslator();
+
+ assertEquals(translator.toClient(null), "");
+ }
+}