You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by nb...@apache.org on 2007/08/21 05:06:07 UTC

svn commit: r567922 - in /velocity/tools/branches/2.x: src/main/java/org/apache/velocity/tools/generic/tools.xml src/test/java/org/apache/velocity/tools/test/whitebox/GenericToolsTests.java test/conf/whiteboxtest-toolbox.xml

Author: nbubna
Date: Mon Aug 20 20:06:07 2007
New Revision: 567922

URL: http://svn.apache.org/viewvc?rev=567922&view=rev
Log:
add FieldTool to defaults and add tests for it

Modified:
    velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/tools.xml
    velocity/tools/branches/2.x/src/test/java/org/apache/velocity/tools/test/whitebox/GenericToolsTests.java
    velocity/tools/branches/2.x/test/conf/whiteboxtest-toolbox.xml

Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/tools.xml
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/tools.xml?rev=567922&r1=567921&r2=567922&view=diff
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/tools.xml (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/tools.xml Mon Aug 20 20:06:07 2007
@@ -28,6 +28,7 @@
         <tool class="org.apache.velocity.tools.generic.ConversionTool"/>
         <tool class="org.apache.velocity.tools.generic.DisplayTool"/>
         <tool class="org.apache.velocity.tools.generic.EscapeTool"/>
+        <tool class="org.apache.velocity.tools.generic.FieldTool"/>
         <tool class="org.apache.velocity.tools.generic.IteratorTool"/>
         <tool class="org.apache.velocity.tools.generic.ListTool"/>
         <tool class="org.apache.velocity.tools.generic.MathTool"/>

Modified: velocity/tools/branches/2.x/src/test/java/org/apache/velocity/tools/test/whitebox/GenericToolsTests.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/test/java/org/apache/velocity/tools/test/whitebox/GenericToolsTests.java?rev=567922&r1=567921&r2=567922&view=diff
==============================================================================
--- velocity/tools/branches/2.x/src/test/java/org/apache/velocity/tools/test/whitebox/GenericToolsTests.java (original)
+++ velocity/tools/branches/2.x/src/test/java/org/apache/velocity/tools/test/whitebox/GenericToolsTests.java Mon Aug 20 20:06:07 2007
@@ -33,6 +33,7 @@
 import org.apache.velocity.tools.generic.ComparisonDateTool;
 import org.apache.velocity.tools.generic.DateTool;
 import org.apache.velocity.tools.generic.EscapeTool;
+import org.apache.velocity.tools.generic.FieldTool;
 import org.apache.velocity.tools.generic.MathTool;
 import org.apache.velocity.tools.generic.NumberTool;
 import org.apache.velocity.tools.generic.ResourceTool;
@@ -125,6 +126,36 @@
         assertEquals("\uf00b", escapeTool.unicode("f00b"));
         assertEquals("\u1010", escapeTool.unicode("\\u1010"));
         assertEquals("\u1111", escapeTool.unicode(1111));
+    }
+
+    public static String MUTABLE_FIELD = "foo";
+
+    public @Test void testFieldTool() {
+        FieldTool fieldTool = (FieldTool)toolbox.get("field");
+        assertNotNull(fieldTool);
+
+        // read a constant from the configured included Class
+        assertEquals(Integer.MAX_VALUE, fieldTool.get("MAX_VALUE"));
+
+        // read a constant from java.lang.Boolean and make sure it is the same
+        assertSame(Boolean.TRUE, fieldTool.in("java.lang.Boolean").get("TRUE"));
+
+        // tell it to read constants from a non-existant class
+        // (which should return null)
+        assertNull(fieldTool.in("no.such.Class"));
+
+        // tell field tool to read constants from this instance's Class
+        // (which should NOT return null)
+        assertNotNull(fieldTool.in(this));
+        assertEquals(MUTABLE_FIELD, fieldTool.get("MUTABLE_FIELD"));
+        // grab the mutable field
+        String foo = MUTABLE_FIELD;
+        // change it
+        MUTABLE_FIELD = MUTABLE_FIELD + MUTABLE_FIELD;
+        // make sure it changed
+        assertFalse(foo.equals(MUTABLE_FIELD));
+        // make sure the fieldtool recognized that it changed
+        assertEquals(MUTABLE_FIELD, fieldTool.get("MUTABLE_FIELD"));
     }
 
     public @Test void testMathTool() {

Modified: velocity/tools/branches/2.x/test/conf/whiteboxtest-toolbox.xml
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/test/conf/whiteboxtest-toolbox.xml?rev=567922&r1=567921&r2=567922&view=diff
==============================================================================
--- velocity/tools/branches/2.x/test/conf/whiteboxtest-toolbox.xml (original)
+++ velocity/tools/branches/2.x/test/conf/whiteboxtest-toolbox.xml Mon Aug 20 20:06:07 2007
@@ -24,6 +24,8 @@
         <tool class="org.apache.velocity.tools.generic.ComparisonDateTool"
             format="yyyy-MM-dd" skip="month"/>
         <tool class="org.apache.velocity.tools.generic.EscapeTool"/>
+        <tool class="org.apache.velocity.tools.generic.FieldTool"
+            include="java.lang.Integer"/>
         <tool class="org.apache.velocity.tools.generic.MathTool"/>
         <tool class="org.apache.velocity.tools.generic.NumberTool"/>
         <tool class="org.apache.velocity.tools.generic.ResourceTool" locale="en_US"/>