light fixture-based SuspiciousCollectionMethodCallsTest

This commit is contained in:
peter
2011-12-30 16:18:34 +01:00
parent 7c732a919f
commit 52e6e8e2d7
8 changed files with 20 additions and 47 deletions
@@ -1,3 +1,4 @@
import java.util.Map;
import java.util.List;
import java.util.ArrayList;
@@ -10,6 +11,6 @@ class Clazz {
}
void foo(List<? extends Number> c) {
c.contains("");
c.contains(<warning descr="'List<? extends Number>' may not contain objects of type 'String'">""</warning>);
}
}
@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<problems>
<problem>
<file>Test.java</file>
<line>13</line>
<description>'List&lt;? extends Number&gt;' may not contain objects of type 'String'</description>
</problem>
</problems>
@@ -0,0 +1,12 @@
import java.util.List;
import java.util.ArrayList;
class Clazz {
void foo(List<? extends Number> l) {
boolean b = l.contains(<warning descr="'List<? extends Number>' may not contain objects of type 'String'">""</warning>); }
void bar() {
List<? extends Class<?>> l = new ArrayList<Class<?>>();
Class<?> o = String.class;
int i = l.indexOf(o);
}
}
@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<problems>
<problem>
<file>Test.java</file>
<line>6</line>
<description>'List&lt;? extends Number&gt;' may not contain objects of type 'String'</description>
</problem>
</problems>
@@ -1,8 +0,0 @@
import java.util.List;
import java.util.ArrayList;
class Clazz {
void foo(List<? extends Number> l) {
boolean b = l.contains("");
}
}
@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<problems>
</problems>
@@ -1,8 +0,0 @@
import java.util.List;
import java.util.ArrayList;
class Clazz {
List<? extends Class<?>> l = new ArrayList<Class<?>>();
Class<?> o = String.class;
int i = l.indexOf(o);
}
@@ -1,24 +1,22 @@
package com.intellij.codeInspection;
import com.intellij.JavaTestUtil;
import com.intellij.codeInspection.ex.LocalInspectionToolWrapper;
import com.intellij.codeInspection.miscGenerics.SuspiciousCollectionsMethodCallsInspection;
import com.intellij.testFramework.InspectionTestCase;
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;
public class SuspiciousCollectionMethodCallsTest extends InspectionTestCase {
public class SuspiciousCollectionMethodCallsTest extends LightCodeInsightFixtureTestCase {
private final SuspiciousCollectionsMethodCallsInspection myTool = new SuspiciousCollectionsMethodCallsInspection();
@Override
protected String getTestDataPath() {
return JavaTestUtil.getJavaTestDataPath() + "/inspection";
protected String getBasePath() {
return JavaTestUtil.getRelativeJavaTestDataPath() + "/inspection/suspiciousCalls";
}
private void doTest() throws Exception {
final LocalInspectionToolWrapper tool = new LocalInspectionToolWrapper(myTool);
doTest("suspiciousCalls/" + getTestName(false), tool, "java 1.5");
myFixture.enableInspections(myTool);
myFixture.testHighlighting(getTestName(false) + ".java");
}
public void testWildcardCapture() throws Exception { doTest(); }
public void testWildcard() throws Exception { doTest(); }
public void testIgnoreConvertible() throws Exception {
myTool.REPORT_CONVERTIBLE_METHOD_CALLS = false;