diff options
author | Paul Duffin <paulduffin@google.com> | 2016-07-15 11:00:43 +0100 |
---|---|---|
committer | Paul Duffin <paulduffin@google.com> | 2016-07-20 15:26:58 +0100 |
commit | e91f13f29b06462b03b1f757f206ab4d44e374b2 (patch) | |
tree | 5ba826e3ce5dcc7b5a5233e9983c3d13660d94f9 | |
parent | fd1f9491413fcdbfae3cbd43651db31fdabce41a (diff) | |
download | platform_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
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)); } } |