From: Anna Kozlova Date: Wed, 21 Jan 2015 11:35:50 +0000 (+0100) Subject: multiple jdks: wrong resolve order tests bombed X-Git-Tag: phpstorm/140.1860~2^2 X-Git-Url: https://git.jetbrains.org/?p=idea%2Fcommunity.git;a=commitdiff_plain;h=d5ca65d80fce51de7c8583de65d7d88e69b09980 multiple jdks: wrong resolve order tests bombed --- diff --git a/java/java-tests/testData/codeInsight/multipleJdks/java7/p/WrongComparator.java b/java/java-tests/testData/codeInsight/multipleJdks/java7/p/WrongComparator.java new file mode 100644 index 000000000000..3eeb7d8af8a2 --- /dev/null +++ b/java/java-tests/testData/codeInsight/multipleJdks/java7/p/WrongComparator.java @@ -0,0 +1,6 @@ +package p; +abstract class B extends A implements java.util.Comparator { + { + reversed(); + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/multipleJdks/java8/p/WrongComparator.java b/java/java-tests/testData/codeInsight/multipleJdks/java8/p/WrongComparator.java new file mode 100644 index 000000000000..83e3e922013c --- /dev/null +++ b/java/java-tests/testData/codeInsight/multipleJdks/java8/p/WrongComparator.java @@ -0,0 +1,3 @@ +package p; +public abstract class A implements java.util.Comparator { +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/multipleJdks/java8/p/WrongSuperInLibrary.java b/java/java-tests/testData/codeInsight/multipleJdks/java8/p/WrongSuperInLibrary.java new file mode 100644 index 000000000000..cc96792a654d --- /dev/null +++ b/java/java-tests/testData/codeInsight/multipleJdks/java8/p/WrongSuperInLibrary.java @@ -0,0 +1,6 @@ +package p; +public abstract class A { + void foo(L l) { + l.stream(); + } +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/multipleJdks/libs/WrongSuperInLibrary.jar b/java/java-tests/testData/codeInsight/multipleJdks/libs/WrongSuperInLibrary.jar new file mode 100644 index 000000000000..db8872191c1a Binary files /dev/null and b/java/java-tests/testData/codeInsight/multipleJdks/libs/WrongSuperInLibrary.jar differ diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/MultipleJdksHighlightingTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/MultipleJdksHighlightingTest.java index 9d3ec5986cd9..f7b1cb2235d7 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/MultipleJdksHighlightingTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/MultipleJdksHighlightingTest.java @@ -16,6 +16,7 @@ package com.intellij.codeInsight; +import com.intellij.idea.Bombed; import com.intellij.openapi.application.ex.PathManagerEx; import com.intellij.openapi.module.Module; import com.intellij.openapi.roots.ModifiableRootModel; @@ -28,6 +29,8 @@ import com.intellij.testFramework.builders.JavaModuleFixtureBuilder; import com.intellij.testFramework.fixtures.*; import com.intellij.util.Consumer; +import java.util.Calendar; + public class MultipleJdksHighlightingTest extends UsefulTestCase { private CodeInsightTestFixture myFixture; @@ -84,7 +87,30 @@ public class MultipleJdksHighlightingTest extends UsefulTestCase { doTest(); } - protected void doTest() { + @Bombed(month = Calendar.FEBRUARY, day = 20) + public void testWrongSuperInLibrary() throws Exception { + final String name = getTestName(false); + for (Module module : new Module[] {myJava7Module, myJava8Module}) { + ModuleRootModificationUtil.updateModel(module, new Consumer() { + @Override + public void consume(ModifiableRootModel model) { + ClsGenericsHighlightingTest.commitLibraryModel(model, myFixture.getTestDataPath(), name + ".jar"); + } + }); + } + + myFixture.configureByFile("java8/p/" + name + ".java"); + myFixture.checkHighlighting(); + } + + @Bombed(month = Calendar.FEBRUARY, day = 20) + public void testWrongComparator() throws Exception { + final String name = getTestName(false); + myFixture.configureByFiles("java7/p/" + name + ".java", "java8/p/" + name + ".java"); + myFixture.checkHighlighting(); + } + + private void doTest() { final String name = getTestName(false); for (Module module : new Module[] {myJava7Module, myJava8Module}) { ModuleRootModificationUtil.updateModel(module, new Consumer() {