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 2011/07/08 02:52:29 UTC

svn commit: r1144109 - in /tapestry/tapestry5/trunk/plastic/src: main/java/org/apache/tapestry5/plastic/PlasticUtils.java test/groovy/org/apache/tapestry5/internal/plastic/PlasticUtilsTests.groovy

Author: hlship
Date: Fri Jul  8 00:52:29 2011
New Revision: 1144109

URL: http://svn.apache.org/viewvc?rev=1144109&view=rev
Log:
TAP5-1227: Add PlasticUtils.isPrimitive()

Modified:
    tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticUtils.java
    tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/internal/plastic/PlasticUtilsTests.groovy

Modified: tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticUtils.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticUtils.java?rev=1144109&r1=1144108&r2=1144109&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticUtils.java (original)
+++ tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticUtils.java Fri Jul  8 00:52:29 2011
@@ -132,4 +132,15 @@ public class PlasticUtils
     {
         return new MethodDescription(getMethod(declaringClass, name, parameterTypes));
     }
+
+    /**
+     * Determines if the provided type name is a primitive type.
+     *
+     * @param typeName Java type name, such as "boolean" or "java.lang.String"
+     * @return true if primitive
+     */
+    public static boolean isPrimitive(String typeName)
+    {
+        return PrimitiveType.getByName(typeName) != null;
+    }
 }

Modified: tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/internal/plastic/PlasticUtilsTests.groovy
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/internal/plastic/PlasticUtilsTests.groovy?rev=1144109&r1=1144108&r2=1144109&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/internal/plastic/PlasticUtilsTests.groovy (original)
+++ tapestry/tapestry5/trunk/plastic/src/test/groovy/org/apache/tapestry5/internal/plastic/PlasticUtilsTests.groovy Fri Jul  8 00:52:29 2011
@@ -14,56 +14,58 @@
 
 package org.apache.tapestry5.internal.plastic
 
-import org.apache.tapestry5.internal.plastic.PlasticInternalUtils;
-import org.apache.tapestry5.plastic.PlasticUtils;
-
+import org.apache.tapestry5.plastic.PlasticUtils
 import spock.lang.Specification
 import spock.lang.Unroll
 
 class PlasticUtilsTests extends Specification
 {
-    def "toDescriptor handles primitive, object and array types"() {
+    def "toDescriptor handles primitive, object and array types"()
+    {
         expect:
         PlasticInternalUtils.toDescriptor(className) == desc
 
         where:
-        className | desc
-        "void" | "V"
-        "boolean" | "Z"
-        "boolean[]" | "[Z"
-        "java.lang.Integer" | "Ljava/lang/Integer;"
+        className            | desc
+        "void"               | "V"
+        "boolean"            | "Z"
+        "boolean[]"          | "[Z"
+        "java.lang.Integer"  | "Ljava/lang/Integer;"
         "java.lang.String[]" | "[Ljava/lang/String;"
         "java.lang.Long[][]" | "[[Ljava/lang/Long;"
     }
 
-    def "descriptorToClassName for proper description"() {
+    def "descriptorToClassName for proper description"()
+    {
         expect:
         PlasticInternalUtils.objectDescriptorToClassName(descriptor) == className
         where:
-        descriptor | className
+        descriptor           | className
         "Ljava/lang/String;" | "java.lang.String"
         'Lfoo/bar/Baz$Biff;' | 'foo.bar.Baz$Biff'
     }
 
     @Unroll("toClass '#javaName' should be #expectedClass")
-    def "toClass tests"() {
+    def "toClass tests"()
+    {
         expect:
 
         PlasticInternalUtils.toClass(getClass().classLoader, javaName) == expectedClass
 
         where:
 
-        javaName | expectedClass
-        "java.lang.String" | String.class
+        javaName              | expectedClass
+        "java.lang.String"    | String.class
         "java.lang.Integer[]" | Integer[].class
-        "java.lang.Long[][]" | Long[][].class
-        "void" | void.class
-        "int" | int.class
-        "int[]" | int[].class
-        "float[][]" | float[][].class
+        "java.lang.Long[][]"  | Long[][].class
+        "void"                | void.class
+        "int"                 | int.class
+        "int[]"               | int[].class
+        "float[][]"           | float[][].class
     }
 
-    def "not object descriptor is an exception"() {
+    def "not object descriptor is an exception"()
+    {
         when:
         PlasticInternalUtils.objectDescriptorToClassName("I")
 
@@ -73,35 +75,37 @@ class PlasticUtilsTests extends Specific
     }
 
     @Unroll("#featureName[field '#fieldName' should convert to property '#propertyName']")
-    def "conversion of field name to property name"() {
+    def "conversion of field name to property name"()
+    {
         expect:
 
-        PlasticInternalUtils.toPropertyName (fieldName) == propertyName
+        PlasticInternalUtils.toPropertyName(fieldName) == propertyName
 
         where:
 
-        fieldName | propertyName
+        fieldName                 | propertyName
 
-        "fred" | "fred"
+        "fred"                    | "fred"
 
-        "m_fred" | "fred"
+        "m_fred"                  | "fred"
 
-        "M_fred"| "fred"
+        "M_fred"                  | "fred"
 
-        "barney_" | "barney"
+        "barney_"                 | "barney"
 
-        "m_wilma_" | "wilma"
+        "m_wilma_"                | "wilma"
 
-        "foo_bar" | "foo_bar"
+        "foo_bar"                 | "foo_bar"
 
         "_______overkill________" | "overkill"
 
-        "m____overkill____" | "overkill"
+        "m____overkill____"       | "overkill"
 
-        "m_" | "m"
+        "m_"                      | "m"
     }
 
-    def "bad input for field name to property name conversion"() {
+    def "bad input for field name to property name conversion"()
+    {
         when:
 
         PlasticInternalUtils.toPropertyName ""
@@ -112,34 +116,52 @@ class PlasticUtilsTests extends Specific
     }
 
     @Unroll("#featureName['#input' should  capitalize to '#output']")
-    def "capitalize strings"() {
+    def "capitalize strings"()
+    {
         expect:
 
         PlasticInternalUtils.capitalize(input) == output
 
         where:
 
-        input | output
+        input     | output
 
-        "Hello" | "Hello"
+        "Hello"   | "Hello"
 
-        "g" | "G"
+        "g"       | "G"
 
         "goodbye" | "Goodbye"
     }
 
     @Unroll("toWrapperType #primitiveType should be #wrapperType")
-    def "primitive type to wrapper type"() {
+    def "primitive type to wrapper type"()
+    {
         expect:
 
-        PlasticUtils.toWrapperType (primitiveType) == wrapperType
+        PlasticUtils.toWrapperType(primitiveType) == wrapperType
         where:
 
         primitiveType | wrapperType
 
-        String.class | String.class
+        String.class  | String.class
         boolean.class | Boolean.class
-        double.class | Double.class
-        int[].class  | int[].class
+        double.class  | Double.class
+        int[].class   | int[].class
+    }
+
+    @Unroll("isPrimitive(#name) == #expected")
+    def "isPrimitive tests"()
+    {
+        expect:
+
+        PlasticUtils.isPrimitive(name) == expected
+
+        where:
+
+        name                | expected
+
+        "boolean"           | true
+        "int"               | true
+        "java.lang.Integer" | false
     }
 }