You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by gs...@apache.org on 2007/11/04 02:43:40 UTC
svn commit: r591721 - in /wicket/trunk/jdk-1.4/wicket/src:
main/java/org/apache/wicket/util/string/interpolator/
test/java/org/apache/wicket/model/
test/java/org/apache/wicket/util/string/interpolator/
Author: gseitz
Date: Sat Nov 3 18:43:39 2007
New Revision: 591721
URL: http://svn.apache.org/viewvc?rev=591721&view=rev
Log:
WICKET-1015:
PropertyVariableInterpolator#getString returns a string with escaped single quotes
added tests for PropertyVariableInterpolator
enhanced test for StringResourceModel
Added:
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/string/interpolator/PropertyVariableInterpolatorTest.java (with props)
Modified:
wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/string/interpolator/PropertyVariableInterpolator.java
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/model/StringResourceModelTest.java
wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/model/StringResourceModelTest.properties
Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/string/interpolator/PropertyVariableInterpolator.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/string/interpolator/PropertyVariableInterpolator.java?rev=591721&r1=591720&r2=591721&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/string/interpolator/PropertyVariableInterpolator.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/string/interpolator/PropertyVariableInterpolator.java Sat Nov 3 18:43:39 2007
@@ -17,6 +17,7 @@
package org.apache.wicket.util.string.interpolator;
import org.apache.wicket.util.lang.PropertyResolver;
+import org.apache.wicket.util.string.Strings;
/**
* Interpolates values into <code>String</code>s that are produced by interpreting property
@@ -84,6 +85,6 @@
protected String getValue(final String variableName)
{
Object value = PropertyResolver.getValue(variableName, model);
- return (value != null) ? value.toString() : null;
+ return value != null ? Strings.replaceAll(value.toString(), "'", "''").toString() : null;
}
}
Modified: wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/model/StringResourceModelTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/model/StringResourceModelTest.java?rev=591721&r1=591720&r2=591721&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/model/StringResourceModelTest.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/model/StringResourceModelTest.java Sat Nov 3 18:43:39 2007
@@ -111,7 +111,7 @@
Assert.assertEquals("Text should be as expected", "It's sunny, wear sunscreen", model
.getString());
ws.setCurrentStatus("raining");
- Assert.assertEquals("Text should be as expected", "It's raining, take an umberella", model
+ Assert.assertEquals("Text should be as expected", "It's raining, take an umbrella", model
.getString());
}
@@ -122,11 +122,17 @@
public void testGetPropertySubstitutedResource()
{
StringResourceModel model = new StringResourceModel("weather.message", page, wsModel);
- Assert.assertEquals("Text should be as expected",
- "Weather station reports that the temperature is 25.7 \u00B0C", model.getString());
+ Assert
+ .assertEquals(
+ "Text should be as expected",
+ "Weather station \"Europe''s main weather station\" reports that the temperature is 25.7 \u00B0C",
+ model.getString());
ws.setCurrentTemperature(11.5);
- Assert.assertEquals("Text should be as expected",
- "Weather station reports that the temperature is 11.5 \u00B0C", model.getString());
+ Assert
+ .assertEquals(
+ "Text should be as expected",
+ "Weather station \"Europe''s main weather station\" reports that the temperature is 11.5 \u00B0C",
+ model.getString());
}
/**
@@ -138,7 +144,7 @@
Calendar cal = Calendar.getInstance();
cal.set(2004, Calendar.OCTOBER, 15, 13, 21);
MessageFormat format = new MessageFormat(
- "The report for {0,date,medium}, shows the temparature as {2,number,###.##} {3} and the weather to be {1}",
+ "The report for {0,date,medium}, shows the temperature as {2,number,###.##} {3} and the weather to be {1}",
page.getLocale());
StringResourceModel model = new StringResourceModel("weather.detail", page, wsModel,
new Object[] { cal.getTime(), "${currentStatus}",
@@ -242,6 +248,7 @@
{
private static final long serialVersionUID = 1L;
+ private final String name = "Europe's main weather station";
private String currentStatus = "sunny";
@@ -285,6 +292,14 @@
public String getUnits()
{
return "\u00B0C";
+ }
+
+ /**
+ * @return name
+ */
+ public String getName()
+ {
+ return name;
}
}
Modified: wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/model/StringResourceModelTest.properties
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/model/StringResourceModelTest.properties?rev=591721&r1=591720&r2=591721&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/model/StringResourceModelTest.properties (original)
+++ wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/model/StringResourceModelTest.properties Sat Nov 3 18:43:39 2007
@@ -18,6 +18,6 @@
#
simple.text=Simple text
weather.sunny=It's sunny, wear sunscreen
-weather.raining=It's raining, take an umberella
-weather.message=Weather station reports that the temperature is ${currentTemperature} ${units}
-weather.detail=The report for {0,date,medium}, shows the temparature as {2,number,###.##} {3} and the weather to be {1}
+weather.raining=It's raining, take an umbrella
+weather.message=Weather station "${name}" reports that the temperature is ${currentTemperature} ${units}
+weather.detail=The report for {0,date,medium}, shows the temperature as {2,number,###.##} {3} and the weather to be {1}
\ No newline at end of file
Added: wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/string/interpolator/PropertyVariableInterpolatorTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/string/interpolator/PropertyVariableInterpolatorTest.java?rev=591721&view=auto
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/string/interpolator/PropertyVariableInterpolatorTest.java (added)
+++ wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/string/interpolator/PropertyVariableInterpolatorTest.java Sat Nov 3 18:43:39 2007
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.wicket.util.string.interpolator;
+
+import junit.framework.TestCase;
+
+/**
+ * Tests {@link PropertyVariableInterpolator}
+ *
+ * @author Gerolf Seitz
+ */
+public class PropertyVariableInterpolatorTest extends TestCase
+{
+ /**
+ *
+ */
+ public void testWithValue()
+ {
+ TestClass object = new TestClass("value");
+ String result = PropertyVariableInterpolator.interpolate("${key}", object);
+ assertEquals("value", result.toString());
+ }
+
+ /**
+ *
+ */
+ public void testWithoutValue()
+ {
+ String result = PropertyVariableInterpolator.interpolate("${key}", null);
+ assertEquals("${key}", result.toString());
+ }
+
+ /**
+ *
+ */
+ public void testWithValueWithSingleQuotes()
+ {
+ TestClass object = new TestClass("'value '' with multiple' quotes'");
+ String result = PropertyVariableInterpolator.interpolate("${key}", object);
+ assertEquals("''value '''' with multiple'' quotes''", result);
+ }
+
+ private static class TestClass
+ {
+ private final String key;
+
+ public TestClass(String key)
+ {
+ this.key = key;
+ }
+ }
+}
Propchange: wicket/trunk/jdk-1.4/wicket/src/test/java/org/apache/wicket/util/string/interpolator/PropertyVariableInterpolatorTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain