aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Duffin <paulduffin@google.com>2016-07-15 11:00:43 +0100
committerPaul Duffin <paulduffin@google.com>2016-07-20 15:26:58 +0100
commite91f13f29b06462b03b1f757f206ab4d44e374b2 (patch)
tree5ba826e3ce5dcc7b5a5233e9983c3d13660d94f9
parentfd1f9491413fcdbfae3cbd43651db31fdabce41a (diff)
downloadplatform_external_junit-params-e91f13f29b06462b03b1f757f206ab4d44e374b2.tar.gz
platform_external_junit-params-e91f13f29b06462b03b1f757f206ab4d44e374b2.tar.bz2
platform_external_junit-params-e91f13f29b06462b03b1f757f206ab4d44e374b2.zip
Workaround Android's lack of javax.lang.model.type.NullType
The NullType class is used as a default value to indicate that the @Parameters source attribute has not been explicitly set. As such while it is externally visible it is not something that clients would be depending upon. Clients are highly unlikely to either check the source attribute themselves, or specify a value of Void.class so this change should be safe. Bug: 30244565 Test: Once it compiles the tests will be run. Change-Id: If2d1c73e81aabc98f1431206279e82e9e043f4c0
-rw-r--r--README.google4
-rw-r--r--src/main/java/junitparams/Parameters.java3
-rw-r--r--src/main/java/junitparams/internal/parameters/ParametersFromExternalClassMethod.java4
-rw-r--r--src/main/java/junitparams/internal/parameters/ParametersFromExternalClassProvideMethod.java3
-rw-r--r--src/main/java/junitparams/internal/parameters/ParametersFromTestClassMethod.java4
5 files changed, 7 insertions, 11 deletions
diff --git a/README.google b/README.google
index fc00869..5a15234 100644
--- a/README.google
+++ b/README.google
@@ -6,4 +6,6 @@ Description:
Parameterised tests that don't suck
Local Modifications:
- No Modifications
+ 30244565 - Work around the Android API's lack of the class
+ javax.lang.model.type.NullType by replacing
+ with Void.
diff --git a/src/main/java/junitparams/Parameters.java b/src/main/java/junitparams/Parameters.java
index 2a7b21a..0e6a1e0 100644
--- a/src/main/java/junitparams/Parameters.java
+++ b/src/main/java/junitparams/Parameters.java
@@ -1,6 +1,5 @@
package junitparams;
-import javax.lang.model.type.NullType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -33,7 +32,7 @@ public @interface Parameters {
* contains parameter values in its elements.
* Example: <code>@Parameters(source = PeopleProvider.class)</code>
*/
- Class<?> source() default NullType.class;
+ Class<?> source() default Void.class;
/**
* Parameter values returned by a method within the test class. This way you
diff --git a/src/main/java/junitparams/internal/parameters/ParametersFromExternalClassMethod.java b/src/main/java/junitparams/internal/parameters/ParametersFromExternalClassMethod.java
index 051fde0..640f998 100644
--- a/src/main/java/junitparams/internal/parameters/ParametersFromExternalClassMethod.java
+++ b/src/main/java/junitparams/internal/parameters/ParametersFromExternalClassMethod.java
@@ -3,8 +3,6 @@ package junitparams.internal.parameters;
import junitparams.Parameters;
import org.junit.runners.model.FrameworkMethod;
-import javax.lang.model.type.NullType;
-
class ParametersFromExternalClassMethod implements ParametrizationStrategy {
private ParamsFromMethodCommon paramsFromMethodCommon;
private Parameters annotation;
@@ -23,7 +21,7 @@ class ParametersFromExternalClassMethod implements ParametrizationStrategy {
@Override
public boolean isApplicable() {
return annotation != null
- && !annotation.source().isAssignableFrom(NullType.class)
+ && !annotation.source().isAssignableFrom(Void.class)
&& !annotation.method().isEmpty();
}
} \ No newline at end of file
diff --git a/src/main/java/junitparams/internal/parameters/ParametersFromExternalClassProvideMethod.java b/src/main/java/junitparams/internal/parameters/ParametersFromExternalClassProvideMethod.java
index 7bded6d..b6c2e84 100644
--- a/src/main/java/junitparams/internal/parameters/ParametersFromExternalClassProvideMethod.java
+++ b/src/main/java/junitparams/internal/parameters/ParametersFromExternalClassProvideMethod.java
@@ -3,7 +3,6 @@ package junitparams.internal.parameters;
import junitparams.Parameters;
import org.junit.runners.model.FrameworkMethod;
-import javax.lang.model.type.NullType;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
@@ -28,7 +27,7 @@ class ParametersFromExternalClassProvideMethod implements ParametrizationStrateg
@Override
public boolean isApplicable() {
return annotation != null
- && !annotation.source().isAssignableFrom(NullType.class)
+ && !annotation.source().isAssignableFrom(Void.class)
&& annotation.method().isEmpty();
}
diff --git a/src/main/java/junitparams/internal/parameters/ParametersFromTestClassMethod.java b/src/main/java/junitparams/internal/parameters/ParametersFromTestClassMethod.java
index 9d1ab7a..92ef8a2 100644
--- a/src/main/java/junitparams/internal/parameters/ParametersFromTestClassMethod.java
+++ b/src/main/java/junitparams/internal/parameters/ParametersFromTestClassMethod.java
@@ -1,7 +1,5 @@
package junitparams.internal.parameters;
-import javax.lang.model.type.NullType;
-
import org.junit.runners.model.FrameworkMethod;
import junitparams.Parameters;
@@ -25,7 +23,7 @@ class ParametersFromTestClassMethod implements ParametrizationStrategy {
@Override
public boolean isApplicable() {
return annotation != null
- && annotation.source().isAssignableFrom(NullType.class)
+ && annotation.source().isAssignableFrom(Void.class)
&& (!annotation.method().isEmpty() || paramsFromMethodCommon.containsDefaultParametersProvidingMethod(testClass));
}
}