This is an automated email from the ASF dual-hosted git repository.
jdaugherty pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/grails-intellij-plugin.git
The following commit(s) were added to refs/heads/main by this push:
new 67c6f28 Pin Mock JDK 11 in light-fixture GSP tests for 2026.2
67c6f28 is described below
commit 67c6f28750ad3aa1b17fa17f6b8e04c4fe510a41
Author: James Daugherty <[email protected]>
AuthorDate: Sun Jul 19 08:39:45 2026 -0400
Pin Mock JDK 11 in light-fixture GSP tests for 2026.2
GspResolveIndexesTest, GspCssTest, GspImportTest and GstringAttributeTest
extend
LightJavaCodeInsightFixtureTestCase directly and used the platform default
light
descriptor, whose SDK is the Mock JDK 1.7 that 2026.2 no longer ships.
Their GSP
module thus had no resolvable java.* classes, so <g:each>/<g:collect>
loop-variable
element types (including numeric list literals) and GSP CSS/import/GString
tests
failed. Add a shared GroovyProjectDescriptors.MOCK_JDK_11 descriptor and
use it.
Clears GspResolveIndexesTest, GspCssTest, GspImportTest,
GstringAttributeTest.
---
test/org/jetbrains/plugins/groovy/grails/gsp/GspCssTest.java | 8 ++++++++
test/org/jetbrains/plugins/groovy/grails/gsp/GspImportTest.java | 8 ++++++++
.../plugins/groovy/grails/gsp/GspResolveIndexesTest.java | 8 ++++++++
.../jetbrains/plugins/groovy/grails/gsp/GstringAttributeTest.java | 8 ++++++++
.../org/jetbrains/plugins/groovy/GroovyProjectDescriptors.java | 6 ++++++
5 files changed, 38 insertions(+)
diff --git a/test/org/jetbrains/plugins/groovy/grails/gsp/GspCssTest.java
b/test/org/jetbrains/plugins/groovy/grails/gsp/GspCssTest.java
index f4f7ee1..79ca090 100644
--- a/test/org/jetbrains/plugins/groovy/grails/gsp/GspCssTest.java
+++ b/test/org/jetbrains/plugins/groovy/grails/gsp/GspCssTest.java
@@ -18,13 +18,21 @@ package org.jetbrains.plugins.groovy.grails.gsp;
import com.intellij.psi.PsiFile;
import
com.intellij.psi.css.inspections.invalid.CssInvalidPropertyValueInspection;
+import com.intellij.testFramework.LightProjectDescriptor;
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.plugins.groovy.GroovyProjectDescriptors;
import junit.framework.TestCase;
import org.jetbrains.plugins.grails.fileType.GspFileType;
import java.util.List;
public class GspCssTest extends LightJavaCodeInsightFixtureTestCase {
+ @Override
+ protected @NotNull LightProjectDescriptor getProjectDescriptor() {
+ return GroovyProjectDescriptors.MOCK_JDK_11;
+ }
+
public void testIDEA47622() {
myFixture.configureByText("a.gsp", """
<p style="margin-left:23423px;margin-right:45px">indent content</p>
diff --git a/test/org/jetbrains/plugins/groovy/grails/gsp/GspImportTest.java
b/test/org/jetbrains/plugins/groovy/grails/gsp/GspImportTest.java
index 94c2e5e..de9e13d 100644
--- a/test/org/jetbrains/plugins/groovy/grails/gsp/GspImportTest.java
+++ b/test/org/jetbrains/plugins/groovy/grails/gsp/GspImportTest.java
@@ -17,11 +17,19 @@
package org.jetbrains.plugins.groovy.grails.gsp;
import com.intellij.psi.PsiFile;
+import com.intellij.testFramework.LightProjectDescriptor;
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase;
+import org.jetbrains.annotations.NotNull;
import org.jetbrains.plugins.groovy.GroovyLanguage;
+import org.jetbrains.plugins.groovy.GroovyProjectDescriptors;
import org.jetbrains.plugins.groovy.grails.GrailsTestCase;
public class GspImportTest extends LightJavaCodeInsightFixtureTestCase {
+ @Override
+ protected @NotNull LightProjectDescriptor getProjectDescriptor() {
+ return GroovyProjectDescriptors.MOCK_JDK_11;
+ }
+
public void testImport() {
myFixture.addFileToProject("aaa/aaa/ClassA1.java", "package aaa.aaa;\n
public class ClassA1 {}");
myFixture.addFileToProject("aaa/aaa/ClassA2.groovy", "package aaa.aaa;\n
class ClassA2 {}");
diff --git
a/test/org/jetbrains/plugins/groovy/grails/gsp/GspResolveIndexesTest.java
b/test/org/jetbrains/plugins/groovy/grails/gsp/GspResolveIndexesTest.java
index e79bc8e..a5ab05f 100644
--- a/test/org/jetbrains/plugins/groovy/grails/gsp/GspResolveIndexesTest.java
+++ b/test/org/jetbrains/plugins/groovy/grails/gsp/GspResolveIndexesTest.java
@@ -21,15 +21,23 @@ import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiReference;
import com.intellij.psi.PsiVariable;
import com.intellij.psi.xml.XmlAttributeValue;
+import com.intellij.testFramework.LightProjectDescriptor;
import com.intellij.testFramework.UsefulTestCase;
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase;
+import org.jetbrains.annotations.NotNull;
import org.jetbrains.plugins.grails.fileType.GspFileType;
import org.jetbrains.plugins.groovy.GroovyLanguage;
+import org.jetbrains.plugins.groovy.GroovyProjectDescriptors;
import
org.jetbrains.plugins.groovy.codeInspection.untypedUnresolvedAccess.GrUnresolvedAccessInspection;
import org.jetbrains.plugins.groovy.grails.GrailsTestCase;
import org.junit.Assert;
public class GspResolveIndexesTest extends LightJavaCodeInsightFixtureTestCase
{
+ @Override
+ protected @NotNull LightProjectDescriptor getProjectDescriptor() {
+ return GroovyProjectDescriptors.MOCK_JDK_11;
+ }
+
private PsiElement getElementAtCaret() {
int caret = myFixture.getEditor().getCaretModel().getOffset();
return myFixture.getFile().getViewProvider().findElementAt(caret,
GroovyLanguage.INSTANCE);
diff --git
a/test/org/jetbrains/plugins/groovy/grails/gsp/GstringAttributeTest.java
b/test/org/jetbrains/plugins/groovy/grails/gsp/GstringAttributeTest.java
index c8c90a0..5c4352d 100644
--- a/test/org/jetbrains/plugins/groovy/grails/gsp/GstringAttributeTest.java
+++ b/test/org/jetbrains/plugins/groovy/grails/gsp/GstringAttributeTest.java
@@ -17,11 +17,19 @@
package org.jetbrains.plugins.groovy.grails.gsp;
import com.intellij.psi.PsiFile;
+import com.intellij.testFramework.LightProjectDescriptor;
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase;
+import org.jetbrains.annotations.NotNull;
import org.jetbrains.plugins.groovy.GroovyLanguage;
+import org.jetbrains.plugins.groovy.GroovyProjectDescriptors;
import org.jetbrains.plugins.groovy.grails.GrailsTestCase;
public class GstringAttributeTest extends LightJavaCodeInsightFixtureTestCase {
+ @Override
+ protected @NotNull LightProjectDescriptor getProjectDescriptor() {
+ return GroovyProjectDescriptors.MOCK_JDK_11;
+ }
+
public void testHighlight() {
myFixture.configureByText("a.gsp", """
<g:link action="\\$" />
diff --git
a/testFramework/src/org/jetbrains/plugins/groovy/GroovyProjectDescriptors.java
b/testFramework/src/org/jetbrains/plugins/groovy/GroovyProjectDescriptors.java
index d466ab5..8c89489 100644
---
a/testFramework/src/org/jetbrains/plugins/groovy/GroovyProjectDescriptors.java
+++
b/testFramework/src/org/jetbrains/plugins/groovy/GroovyProjectDescriptors.java
@@ -23,6 +23,12 @@ import
com.intellij.testFramework.fixtures.DefaultLightProjectDescriptor;
public interface GroovyProjectDescriptors {
+ // Since IntelliJ 2026.2 the legacy filesystem Mock JDK 1.7 (the default
for
+ // DefaultLightProjectDescriptor / LightJavaCodeInsightFixtureTestCase) is
no longer shipped, so
+ // java.lang.*/java.util.* stop resolving. Tests that only need a JDK (not
a Groovy library) can
+ // use this descriptor, which pins Mock JDK 11 (provisioned from the
artifacts repository).
+ LightProjectDescriptor MOCK_JDK_11 = new
DefaultLightProjectDescriptor(IdeaTestUtil::getMockJdk11);
+
TestLibrary LIB_GROOVY_1_6 = new
RepositoryTestLibrary("org.codehaus.groovy:groovy:1.6.9");
TestLibrary LIB_GROOVY_1_7 = new
RepositoryTestLibrary("org.codehaus.groovy:groovy:1.7.11");
TestLibrary LIB_GROOVY_2_1 = new
RepositoryTestLibrary("org.codehaus.groovy:groovy-all:2.1.0");