Skip to content

Commit 6d08ac4

Browse files
Matthias MerdesMatthias Merdes
authored andcommitted
#63: added API-annotations for junit4-runner
1 parent a29424d commit 6d08ac4

File tree

10 files changed

+48
-10
lines changed

10 files changed

+48
-10
lines changed

junit-tests/src/test/java/org/junit/gen5/AllJUnit5Tests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
package org.junit.gen5;
1212

1313
import org.junit.gen5.engine.junit5.JUnit5TestEngine;
14-
import org.junit.gen5.junit4.runner.ClassNamePattern;
14+
import org.junit.gen5.junit4.runner.FilterClassName;
1515
import org.junit.gen5.junit4.runner.JUnit5;
1616
import org.junit.gen5.junit4.runner.Packages;
1717
import org.junit.gen5.junit4.runner.RequireEngine;
@@ -32,7 +32,7 @@
3232
*/
3333
@RunWith(JUnit5.class)
3434
@Packages("org.junit.gen5")
35-
@ClassNamePattern(".*Tests?")
35+
@FilterClassName(".*Tests?")
3636
@RequireEngine(JUnit5TestEngine.ENGINE_ID)
3737
public class AllJUnit5Tests {
3838
}

junit-tests/src/test/java/org/junit/gen5/junit4/runner/JUnit5Tests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ class TestCase {
173173

174174
@Test
175175
void addsClassFilterToRequestWhenClassNamePatternAnnotationIsPresent() throws Exception {
176-
@ClassNamePattern(".*Foo")
176+
@FilterClassName(".*Foo")
177177
class TestCase {
178178
}
179179
class Foo {

junit4-runner/src/main/java/org/junit/gen5/junit4/runner/Classes.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,17 @@
1010

1111
package org.junit.gen5.junit4.runner;
1212

13+
import org.junit.gen5.commons.meta.API;
14+
1315
import java.lang.annotation.Documented;
1416
import java.lang.annotation.ElementType;
1517
import java.lang.annotation.Inherited;
1618
import java.lang.annotation.Retention;
1719
import java.lang.annotation.RetentionPolicy;
1820
import java.lang.annotation.Target;
1921

22+
import static org.junit.gen5.commons.meta.API.Usage.Maintained;
23+
2024
/**
2125
* {@code @Classes} specifies the test classes to be run when a class
2226
* annotated with {@code @RunWith(JUnit5.class)} is run.
@@ -27,6 +31,7 @@
2731
@Target(ElementType.TYPE)
2832
@Inherited
2933
@Documented
34+
@API(Maintained)
3035
public @interface Classes {
3136

3237
/**

junit4-runner/src/main/java/org/junit/gen5/junit4/runner/ExcludeTags.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,17 @@
1010

1111
package org.junit.gen5.junit4.runner;
1212

13+
import org.junit.gen5.commons.meta.API;
14+
1315
import java.lang.annotation.Documented;
1416
import java.lang.annotation.ElementType;
1517
import java.lang.annotation.Inherited;
1618
import java.lang.annotation.Retention;
1719
import java.lang.annotation.RetentionPolicy;
1820
import java.lang.annotation.Target;
1921

22+
import static org.junit.gen5.commons.meta.API.Usage.Maintained;
23+
2024
/**
2125
* {@code @ExcludeTags} specifies tags to be filtered out when a class
2226
* annotated with {@code @RunWith(JUnit5.class)} is run.
@@ -27,6 +31,7 @@
2731
@Target(ElementType.TYPE)
2832
@Inherited
2933
@Documented
34+
@API(Maintained)
3035
public @interface ExcludeTags {
3136

3237
/**

junit4-runner/src/main/java/org/junit/gen5/junit4/runner/ClassNamePattern.java renamed to junit4-runner/src/main/java/org/junit/gen5/junit4/runner/FilterClassName.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,28 +10,33 @@
1010

1111
package org.junit.gen5.junit4.runner;
1212

13+
import org.junit.gen5.commons.meta.API;
14+
1315
import java.lang.annotation.Documented;
1416
import java.lang.annotation.ElementType;
1517
import java.lang.annotation.Inherited;
1618
import java.lang.annotation.Retention;
1719
import java.lang.annotation.RetentionPolicy;
1820
import java.lang.annotation.Target;
1921

22+
import static org.junit.gen5.commons.meta.API.Usage.Maintained;
23+
2024
/**
21-
* {@code @ClassNamePattern} specifies a regular expression that is used
22-
* to match against class names when a test class annotated with
23-
* {@code @RunWith(JUnit5.class)} is executed.
25+
* {@code @FilterClassName} specifies a regular expression that is used
26+
* to match against fully qualified class names
27+
* when a test class annotated with {@code @RunWith(JUnit5.class)} is executed.
2428
*
2529
* @since 5.0
2630
*/
2731
@Retention(RetentionPolicy.RUNTIME)
2832
@Target(ElementType.TYPE)
2933
@Inherited
3034
@Documented
31-
public @interface ClassNamePattern {
35+
@API(Maintained)
36+
public @interface FilterClassName {
3237

3338
/**
34-
* Regular expression used to match against class names.
39+
* Regular expression used to match against fully qualified class names.
3540
*/
3641
String value();
3742

junit4-runner/src/main/java/org/junit/gen5/junit4/runner/JUnit5.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
import static java.util.Arrays.stream;
1414
import static java.util.stream.Collectors.toList;
15+
import static org.junit.gen5.commons.meta.API.Usage.Maintained;
1516
import static org.junit.gen5.launcher.main.TestDiscoveryRequestBuilder.request;
1617

1718
import java.lang.annotation.Annotation;
@@ -20,6 +21,7 @@
2021
import java.util.Set;
2122
import java.util.function.Function;
2223

24+
import org.junit.gen5.commons.meta.API;
2325
import org.junit.gen5.commons.util.Preconditions;
2426
import org.junit.gen5.commons.util.StringUtils;
2527
import org.junit.gen5.engine.DiscoverySelector;
@@ -57,13 +59,14 @@
5759
*
5860
* @since 5.0
5961
* @see Classes
60-
* @see ClassNamePattern
62+
* @see FilterClassName
6163
* @see Packages
6264
* @see UniqueIds
6365
* @see RequireTags
6466
* @see ExcludeTags
6567
* @see RequireEngine
6668
*/
69+
@API(Maintained)
6770
public class JUnit5 extends Runner implements Filterable {
6871

6972
private static final Class<?>[] EMPTY_CLASS_ARRAY = new Class<?>[0];
@@ -196,7 +199,7 @@ private String getExplicitEngineId() {
196199
}
197200

198201
private String getClassNameRegExPattern() {
199-
return getValueFromAnnotation(ClassNamePattern.class, ClassNamePattern::value, EMPTY_STRING).trim();
202+
return getValueFromAnnotation(FilterClassName.class, FilterClassName::value, EMPTY_STRING).trim();
200203
}
201204

202205
private <A extends Annotation, V> V getValueFromAnnotation(Class<A> annotationClass, Function<A, V> extractor,

junit4-runner/src/main/java/org/junit/gen5/junit4/runner/Packages.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,17 @@
1010

1111
package org.junit.gen5.junit4.runner;
1212

13+
import org.junit.gen5.commons.meta.API;
14+
1315
import java.lang.annotation.Documented;
1416
import java.lang.annotation.ElementType;
1517
import java.lang.annotation.Inherited;
1618
import java.lang.annotation.Retention;
1719
import java.lang.annotation.RetentionPolicy;
1820
import java.lang.annotation.Target;
1921

22+
import static org.junit.gen5.commons.meta.API.Usage.Maintained;
23+
2024
/**
2125
* {@code @Packages} specifies the names of packages to be run when a class
2226
* annotated with {@code @RunWith(JUnit5.class)} is run.
@@ -27,6 +31,7 @@
2731
@Target(ElementType.TYPE)
2832
@Inherited
2933
@Documented
34+
@API(Maintained)
3035
public @interface Packages {
3136

3237
/**

junit4-runner/src/main/java/org/junit/gen5/junit4/runner/RequireEngine.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,17 @@
1010

1111
package org.junit.gen5.junit4.runner;
1212

13+
import org.junit.gen5.commons.meta.API;
14+
1315
import java.lang.annotation.Documented;
1416
import java.lang.annotation.ElementType;
1517
import java.lang.annotation.Inherited;
1618
import java.lang.annotation.Retention;
1719
import java.lang.annotation.RetentionPolicy;
1820
import java.lang.annotation.Target;
1921

22+
import static org.junit.gen5.commons.meta.API.Usage.Maintained;
23+
2024
/**
2125
* {@code @RequireEngine} specifies the engine ID (e.g., {@code "junit5"}) of
2226
* the sole {@link org.junit.gen5.engine.TestEngine TestEngine} to be used
@@ -28,6 +32,7 @@
2832
@Target(ElementType.TYPE)
2933
@Inherited
3034
@Documented
35+
@API(Maintained)
3136
public @interface RequireEngine {
3237

3338
/**

junit4-runner/src/main/java/org/junit/gen5/junit4/runner/RequireTags.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,17 @@
1010

1111
package org.junit.gen5.junit4.runner;
1212

13+
import org.junit.gen5.commons.meta.API;
14+
1315
import java.lang.annotation.Documented;
1416
import java.lang.annotation.ElementType;
1517
import java.lang.annotation.Inherited;
1618
import java.lang.annotation.Retention;
1719
import java.lang.annotation.RetentionPolicy;
1820
import java.lang.annotation.Target;
1921

22+
import static org.junit.gen5.commons.meta.API.Usage.Maintained;
23+
2024
/**
2125
* {@code @RequireTags} specifies tags to be considered when a class
2226
* annotated with {@code @RunWith(JUnit5.class)} is run.
@@ -27,6 +31,7 @@
2731
@Target(ElementType.TYPE)
2832
@Inherited
2933
@Documented
34+
@API(Maintained)
3035
public @interface RequireTags {
3136

3237
/**

junit4-runner/src/main/java/org/junit/gen5/junit4/runner/UniqueIds.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,17 @@
1010

1111
package org.junit.gen5.junit4.runner;
1212

13+
import org.junit.gen5.commons.meta.API;
14+
1315
import java.lang.annotation.Documented;
1416
import java.lang.annotation.ElementType;
1517
import java.lang.annotation.Inherited;
1618
import java.lang.annotation.Retention;
1719
import java.lang.annotation.RetentionPolicy;
1820
import java.lang.annotation.Target;
1921

22+
import static org.junit.gen5.commons.meta.API.Usage.Maintained;
23+
2024
/**
2125
* {@code @UniqueIds} specifies the unique IDs of test classes or methods to be
2226
* run when a class annotated with {@code @RunWith(JUnit5.class)} is run.
@@ -27,6 +31,7 @@
2731
@Target(ElementType.TYPE)
2832
@Inherited
2933
@Documented
34+
@API(Maintained)
3035
public @interface UniqueIds {
3136

3237
/**

0 commit comments

Comments
 (0)