welcome mock jdk 9 (IDEA-168823)

This commit is contained in:
Anna.Kozlova
2017-03-07 14:55:51 +01:00
parent af59ff1487
commit e7edc56bc6
8 changed files with 21 additions and 7 deletions

View File

@@ -3,6 +3,6 @@ import java.lang.invoke.*;
public class Main {
void foo() throws Throwable {
MethodHandles.Lookup lookup = MethodHandles.lookup();
lookup.findStaticVarHandle(Test.class, "psf1");
lookup.findStaticVarHandle(Test.class, "psf1", char.class);
}
}

View File

@@ -3,6 +3,6 @@ import java.lang.invoke.*;
public class Main {
void foo() throws Throwable {
MethodHandles.Lookup lookup = MethodHandles.lookup();
lookup.findVarHandle(Test.class, "f1");
lookup.findVarHandle(Test.class, "f1", int.class);
}
}

View File

@@ -240,6 +240,6 @@ public class RegExpHighlightingTest extends LightCodeInsightFixtureTestCase {
@NotNull
@Override
protected LightProjectDescriptor getProjectDescriptor() {
return JAVA_9;
return JAVA_8;
}
}

View File

@@ -16,12 +16,18 @@
package com.intellij.codeInsight.completion
import com.intellij.JavaTestUtil
import com.intellij.testFramework.LightProjectDescriptor
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase
/**
* @author Pavel Dolgov
*/
class JavaLangInvokeHandleCompletionTest : LightFixtureCompletionTestCase() {
override fun getProjectDescriptor(): LightProjectDescriptor {
return LightCodeInsightFixtureTestCase.JAVA_9
}
fun testVirtual() = doTestFirst(1, "m1", "pm1", "m2")
fun testVirtualPrefixed() = doTest(1, "m1", "m2", "pm1")
@@ -33,9 +39,8 @@ class JavaLangInvokeHandleCompletionTest : LightFixtureCompletionTestCase() {
fun testStaticGetter() = doTest(0, "psf1", "sf1", "sf2")
fun testStaticSetter() = doTest(2, "psf1", "sf1", "sf2")
// TODO enable when the mock for jdk9 is available
fun _testVarHandle() = doTest(0, "f1", "pf1", "f2")
fun _testStaticVarHandle() = doTest(0, "psf1", "sf1", "sf2")
fun testVarHandle() = doTest(0, "f1", "pf1", "f2")
fun testStaticVarHandle() = doTest(0, "psf1", "sf1", "sf2")
override fun getBasePath(): String {
return JavaTestUtil.getRelativeJavaTestDataPath() + "/codeInsight/completion/invokeHandle/"

Binary file not shown.

Binary file not shown.

View File

@@ -99,6 +99,11 @@ public class IdeaTestUtil extends PlatformTestUtil {
return createMockJdk("java 1.8", getMockJdk18Path().getPath());
}
@TestOnly
public static Sdk getMockJdk9() {
return createMockJdk("java 9", getMockJdk9Path().getPath());
}
@TestOnly
public static Sdk getMockJdk14() {
return createMockJdk("java 1.4", getMockJdk14Path().getPath());
@@ -116,6 +121,10 @@ public class IdeaTestUtil extends PlatformTestUtil {
return getPathForJdkNamed(MOCK_JDK_DIR_NAME_PREFIX + "1.8");
}
public static File getMockJdk9Path() {
return getPathForJdkNamed(MOCK_JDK_DIR_NAME_PREFIX + "1.9");
}
public static String getMockJdkVersion(String path) {
String name = PathUtil.getFileName(path);
if (name.startsWith(MOCK_JDK_DIR_NAME_PREFIX)) {

View File

@@ -79,7 +79,7 @@ public abstract class LightCodeInsightFixtureTestCase extends UsefulTestCase {
public static final LightProjectDescriptor JAVA_9 = new DefaultLightProjectDescriptor() {
@Override
public Sdk getSdk() {
return IdeaTestUtil.getMockJdk18();
return IdeaTestUtil.getMockJdk9();
}
@Override