Skip to content

Commit cfb9cbe

Browse files
committed
Get UpdateTestAnnotation tests passing again
1 parent 9b80dde commit cfb9cbe

File tree

3 files changed

+112
-168
lines changed

3 files changed

+112
-168
lines changed

src/main/java/org/openrewrite/java/testing/junit5/UpdateTestAnnotation.java

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public J.CompilationUnit visitCompilationUnit(J.CompilationUnit cu, ExecutionCon
6666
if (!nameTreeSet.isEmpty()) {
6767
// Update other references like `Test.class`.
6868
c = (J.CompilationUnit) new ChangeType("org.junit.Test", "org.junit.jupiter.api.Test", true)
69-
.getVisitor().visit(cu, executionContext);
69+
.getVisitor().visitNonNull(c, executionContext);
7070
}
7171

7272
maybeRemoveImport("org.junit.Test");
@@ -108,28 +108,6 @@ public J postVisit(J tree, ExecutionContext executionContext) {
108108
return c;
109109
}
110110

111-
@Override
112-
protected JavadocVisitor<ExecutionContext> getJavadocVisitor() {
113-
return new JavadocVisitor<ExecutionContext>(this) {
114-
@Override
115-
public Javadoc visitReference(Javadoc.Reference reference, ExecutionContext ctx) {
116-
if (reference.getTree() instanceof TypeTree &&
117-
TypeUtils.isOfClassType(((TypeTree) reference.getTree()).getType(), "org.junit.Test")) {
118-
getCursor().getParentOrThrow().putMessageOnFirstEnclosing(Javadoc.class, "testRef", true);
119-
}
120-
return reference;
121-
}
122-
123-
@Override
124-
public Javadoc postVisit(Javadoc tree, ExecutionContext executionContext) {
125-
if (getCursor().getMessage("testRef", false)) {
126-
return null;
127-
}
128-
return super.postVisit(tree, executionContext);
129-
}
130-
};
131-
}
132-
133111
@Override
134112
public J.MethodDeclaration visitMethodDeclaration(J.MethodDeclaration method, ExecutionContext ctx) {
135113
ChangeTestAnnotation cta = new ChangeTestAnnotation();

src/test/java/org/openrewrite/java/testing/junit5/UpdateTestAnnotationJavaTest.java

Lines changed: 0 additions & 145 deletions
This file was deleted.

src/test/java/org/openrewrite/java/testing/junit5/UpdateTestAnnotationTest.java

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -478,4 +478,115 @@ public void foo() {
478478
)
479479
);
480480
}
481+
482+
483+
@Test
484+
void migrateDotClass() {
485+
//language=java
486+
rewriteRun(
487+
java(
488+
"""
489+
import org.junit.Test;
490+
public class MyTest {
491+
Object o = Test.class;
492+
}
493+
""",
494+
"""
495+
import org.junit.jupiter.api.Test;
496+
497+
public class MyTest {
498+
Object o = Test.class;
499+
}
500+
"""
501+
)
502+
);
503+
}
504+
505+
@Test
506+
void usedInJavadoc() {
507+
//language=java
508+
rewriteRun(
509+
java(
510+
"""
511+
import org.junit.Test;
512+
513+
/** @see org.junit.Test */
514+
public class MyTest {
515+
@Test
516+
public void test() {
517+
}
518+
}
519+
""",
520+
"""
521+
import org.junit.jupiter.api.Test;
522+
523+
/** @see org.junit.jupiter.api.Test */
524+
public class MyTest {
525+
@Test
526+
void test() {
527+
}
528+
}
529+
"""
530+
)
531+
);
532+
}
533+
534+
@Test
535+
void fullyQualified() {
536+
rewriteRun(
537+
//language=java
538+
java(
539+
"""
540+
public class MyTest {
541+
@org.junit.Test
542+
public void feature1() {
543+
}
544+
}
545+
""",
546+
"""
547+
import org.junit.jupiter.api.Test;
548+
549+
public class MyTest {
550+
@org.junit.jupiter.api.Test
551+
void feature1() {
552+
}
553+
}
554+
"""
555+
)
556+
);
557+
}
558+
559+
@Test
560+
void mixedFullyQualifiedAndNot() {
561+
rewriteRun(
562+
//language=java
563+
java(
564+
"""
565+
import org.junit.Test;
566+
public class MyTest {
567+
@org.junit.Test
568+
public void feature1() {
569+
}
570+
571+
@Test
572+
void feature2() {
573+
}
574+
}
575+
""",
576+
"""
577+
import org.junit.jupiter.api.Test;
578+
579+
public class MyTest {
580+
@org.junit.jupiter.api.Test
581+
void feature1() {
582+
}
583+
584+
@Test
585+
void feature2() {
586+
}
587+
}
588+
"""
589+
)
590+
);
591+
}
481592
}

0 commit comments

Comments
 (0)