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
}
}