diff --git a/qulice-pmd/src/test/java/com/qulice/pmd/PmdValidatorTest.java b/qulice-pmd/src/test/java/com/qulice/pmd/PmdValidatorTest.java index 13ecb22c2..aa66660e4 100644 --- a/qulice-pmd/src/test/java/com/qulice/pmd/PmdValidatorTest.java +++ b/qulice-pmd/src/test/java/com/qulice/pmd/PmdValidatorTest.java @@ -42,6 +42,8 @@ import org.hamcrest.core.IsEqual; import org.hamcrest.core.IsNot; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.EnabledForJreRange; +import org.junit.jupiter.api.condition.JRE; /** * Test case for {@link PmdValidator} class. @@ -716,4 +718,20 @@ void allowJunitTestClassToBeFinal() throws Exception { ) ).validate(); } + + /** + * PmdValidator can allow record classes. + * @throws Exception If something wrong happens inside. + */ + @Test + @EnabledForJreRange(min = JRE.JAVA_14, max = JRE.JAVA_21) + void allowRecordClasses() throws Exception { + new PmdAssert( + "RecordParsed.java", + Matchers.is(true), + Matchers.not( + Matchers.containsString(PmdValidatorTest.STATIC_METHODS) + ) + ).validate(); + } } diff --git a/qulice-pmd/src/test/resources/com/qulice/pmd/RecordParsed.java b/qulice-pmd/src/test/resources/com/qulice/pmd/RecordParsed.java new file mode 100644 index 000000000..21c2faebe --- /dev/null +++ b/qulice-pmd/src/test/resources/com/qulice/pmd/RecordParsed.java @@ -0,0 +1,8 @@ +package foo; + +public record RecordParsed( + Object symbol, + int line, + String msg +) { +} \ No newline at end of file