diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/MultiReleaseHighlightingTest.kt b/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/MultiReleaseHighlightingTest.kt new file mode 100644 index 000000000000..935e1a7a04de --- /dev/null +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/compiler/MultiReleaseHighlightingTest.kt @@ -0,0 +1,60 @@ +// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +package org.jetbrains.idea.maven.compiler + +import com.intellij.pom.java.LanguageLevel +import kotlinx.coroutines.runBlocking +import org.jetbrains.idea.maven.dom.MavenDomWithIndicesTestCase +import org.junit.Test + +class MultiReleaseHighlightingTest : MavenDomWithIndicesTestCase() { + @Test + fun testDoNotHighlightVersionRanges() = runBlocking { + createProjectSubFile("src/main/java/org/example/A.java", """ + package org.example; + class A {} + """.trimIndent()) + val moduleInfo = createProjectSubFile("src/main/java-additional/module-info.java", """ + module project { + exports org.example; + }""".trimIndent()) + + importProjectAsync(""" + test + project + 1 + + 8 + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + additionalSourceRoot + + 9 + true + + ${'$'}{project.basedir}/src/main/java-additional + + + + + + + + """.trimIndent()) + + assertModules("project", "project.main", "project.additionalSourceRoot", "project.test") + + assertEquals(LanguageLevel.JDK_1_8, getSourceLanguageLevelForModule("project.main")) + assertEquals(LanguageLevel.JDK_1_8, getTargetLanguageLevelForModule("project.main")) + + assertEquals(LanguageLevel.JDK_1_9, getSourceLanguageLevelForModule("project.additionalSourceRoot")) + assertEquals(LanguageLevel.JDK_1_9, getTargetLanguageLevelForModule("project.additionalSourceRoot")) + + checkHighlighting(moduleInfo) + } +} \ No newline at end of file