diff --git a/plugins/java-i18n/src/com/intellij/codeInspection/i18n/I18nInspection.java b/plugins/java-i18n/src/com/intellij/codeInspection/i18n/I18nInspection.java index b3e581d3ec47..eb3c54ab0019 100644 --- a/plugins/java-i18n/src/com/intellij/codeInspection/i18n/I18nInspection.java +++ b/plugins/java-i18n/src/com/intellij/codeInspection/i18n/I18nInspection.java @@ -341,11 +341,19 @@ public class I18nInspection extends AbstractBaseJavaLocalInspectionTool implemen if (containingClass == null || isClassNonNls(containingClass)) { return null; } + List results = new ArrayList<>(); final PsiCodeBlock body = method.getBody(); if (body != null) { - return checkElement(body, manager, isOnTheFly); + ProblemDescriptor[] descriptors = checkElement(body, manager, isOnTheFly); + if (descriptors != null) { + ContainerUtil.addAll(results, descriptors); + } } - return null; + checkAnnotations(method, manager, isOnTheFly, results); + for (PsiParameter parameter : method.getParameterList().getParameters()) { + checkAnnotations(parameter, manager, isOnTheFly, results); + } + return results.isEmpty() ? null : results.toArray(ProblemDescriptor.EMPTY_ARRAY); } @Override @@ -362,10 +370,23 @@ public class I18nInspection extends AbstractBaseJavaLocalInspectionTool implemen ContainerUtil.addAll(result, descriptors); } } + checkAnnotations(aClass, manager, isOnTheFly, result); + return result.isEmpty() ? null : result.toArray(ProblemDescriptor.EMPTY_ARRAY); } + private void checkAnnotations(PsiModifierListOwner member, + @NotNull InspectionManager manager, + boolean isOnTheFly, List result) { + for (PsiAnnotation annotation : member.getAnnotations()) { + final ProblemDescriptor[] descriptors = checkElement(annotation, manager, isOnTheFly); + if (descriptors != null) { + ContainerUtil.addAll(result, descriptors); + } + } + } + @Override @Nullable public ProblemDescriptor[] checkField(@NotNull PsiField field, @NotNull InspectionManager manager, boolean isOnTheFly) { @@ -376,13 +397,21 @@ public class I18nInspection extends AbstractBaseJavaLocalInspectionTool implemen if (AnnotationUtil.isAnnotated(field, AnnotationUtil.NON_NLS, CHECK_EXTERNAL)) { return null; } + List result = new ArrayList<>(); final PsiExpression initializer = field.getInitializer(); - if (initializer != null) return checkElement(initializer, manager, isOnTheFly); - - if (field instanceof PsiEnumConstant) { - return checkElement(((PsiEnumConstant)field).getArgumentList(), manager, isOnTheFly); + if (initializer != null) { + ProblemDescriptor[] descriptors = checkElement(initializer, manager, isOnTheFly); + if (descriptors != null) { + ContainerUtil.addAll(result, descriptors); + } + } else if (field instanceof PsiEnumConstant) { + ProblemDescriptor[] descriptors = checkElement(((PsiEnumConstant)field).getArgumentList(), manager, isOnTheFly); + if (descriptors != null) { + ContainerUtil.addAll(result, descriptors); + } } - return null; + checkAnnotations(field, manager, isOnTheFly, result); + return result.isEmpty() ? null : result.toArray(ProblemDescriptor.EMPTY_ARRAY); } @Nullable diff --git a/plugins/java-i18n/testData/inspections/i18n/annotationArgument/src/Foo.java b/plugins/java-i18n/testData/inspections/i18n/AnnotationArgument.java similarity index 100% rename from plugins/java-i18n/testData/inspections/i18n/annotationArgument/src/Foo.java rename to plugins/java-i18n/testData/inspections/i18n/AnnotationArgument.java diff --git a/plugins/java-i18n/testData/inspections/i18n/AnonymousClassConstructorParameter.java b/plugins/java-i18n/testData/inspections/i18n/AnonymousClassConstructorParameter.java new file mode 100644 index 000000000000..208f64912917 --- /dev/null +++ b/plugins/java-i18n/testData/inspections/i18n/AnonymousClassConstructorParameter.java @@ -0,0 +1,14 @@ +class Test { + private abstract class InnerTest { + public InnerTest(String s) { } + public abstract void run(); + } + + public void foo(String s) { + bar(new InnerTest("Literal") { public void run() { } }); + } + + public void bar(InnerTest t) { + + } +} diff --git a/plugins/java-i18n/testData/inspections/i18n/constructorCallOfNonNlsVariable/src/Test.java b/plugins/java-i18n/testData/inspections/i18n/ConstructorCallOfNonNlsVariable.java similarity index 100% rename from plugins/java-i18n/testData/inspections/i18n/constructorCallOfNonNlsVariable/src/Test.java rename to plugins/java-i18n/testData/inspections/i18n/ConstructorCallOfNonNlsVariable.java diff --git a/plugins/java-i18n/testData/inspections/i18n/enum/src/Test.java b/plugins/java-i18n/testData/inspections/i18n/Enum.java similarity index 62% rename from plugins/java-i18n/testData/inspections/i18n/enum/src/Test.java rename to plugins/java-i18n/testData/inspections/i18n/Enum.java index 0f167a69984e..400560685267 100644 --- a/plugins/java-i18n/testData/inspections/i18n/enum/src/Test.java +++ b/plugins/java-i18n/testData/inspections/i18n/Enum.java @@ -1,6 +1,6 @@ enum Test { - CHECKIN("Text1"), - ADD("Rext2"); + CHECKIN("Text1"), + ADD("Rext2"); Test(final String id) { myId = id; diff --git a/plugins/java-i18n/testData/inspections/i18n/fields/src/Test.java b/plugins/java-i18n/testData/inspections/i18n/Fields.java similarity index 100% rename from plugins/java-i18n/testData/inspections/i18n/fields/src/Test.java rename to plugins/java-i18n/testData/inspections/i18n/Fields.java diff --git a/plugins/java-i18n/testData/inspections/i18n/HardCodedStringLiteralAsParameter.java b/plugins/java-i18n/testData/inspections/i18n/HardCodedStringLiteralAsParameter.java new file mode 100644 index 000000000000..d6924b4a1fca --- /dev/null +++ b/plugins/java-i18n/testData/inspections/i18n/HardCodedStringLiteralAsParameter.java @@ -0,0 +1,5 @@ +class Foo { + void foo(String s) { + foo("text"); + } +} \ No newline at end of file diff --git a/plugins/java-i18n/testData/inspections/i18n/InAnnotationArguments.java b/plugins/java-i18n/testData/inspections/i18n/InAnnotationArguments.java new file mode 100644 index 000000000000..2bf2594798bc --- /dev/null +++ b/plugins/java-i18n/testData/inspections/i18n/InAnnotationArguments.java @@ -0,0 +1,12 @@ +@interface Anno { + String value(); +} + +@Anno("abcd") +class Test { + @Anno("abcd") + int field; + + @Anno("abcd") + void m(@Anno("abcd") int i) {} +} \ No newline at end of file diff --git a/plugins/java-i18n/testData/inspections/i18n/initializerInAnonymousClass/src/Test.java b/plugins/java-i18n/testData/inspections/i18n/InitializerInAnonymousClass.java similarity index 63% rename from plugins/java-i18n/testData/inspections/i18n/initializerInAnonymousClass/src/Test.java rename to plugins/java-i18n/testData/inspections/i18n/InitializerInAnonymousClass.java index 01f27af477f9..5b97e842408b 100644 --- a/plugins/java-i18n/testData/inspections/i18n/initializerInAnonymousClass/src/Test.java +++ b/plugins/java-i18n/testData/inspections/i18n/InitializerInAnonymousClass.java @@ -1,10 +1,10 @@ import java.awt.event.ActionListener; import java.awt.event.ActionEvent; -public class Test { +class Test { public static void main(String[] args){ ActionListener listener = new ActionListener(){ { - final String test = "problem reported twice"; + final String test = "problem reported twice"; } public void actionPerformed(final ActionEvent e) { diff --git a/plugins/java-i18n/testData/inspections/i18n/localVariables/src/Test.java b/plugins/java-i18n/testData/inspections/i18n/LocalVariables.java similarity index 52% rename from plugins/java-i18n/testData/inspections/i18n/localVariables/src/Test.java rename to plugins/java-i18n/testData/inspections/i18n/LocalVariables.java index 51c6726e264d..7a58396c4983 100644 --- a/plugins/java-i18n/testData/inspections/i18n/localVariables/src/Test.java +++ b/plugins/java-i18n/testData/inspections/i18n/LocalVariables.java @@ -1,11 +1,11 @@ class Foo { void foo() { - String v1 = "text"; + String v1 = "text"; @org.jetbrains.annotations.NonNls String v2 = "text"; String v3; @org.jetbrains.annotations.NonNls String v4; - v3 = "text"; + v3 = "text"; v4 = "text"; } } \ No newline at end of file diff --git a/plugins/java-i18n/testData/inspections/i18n/nonNlsArray/src/Test.java b/plugins/java-i18n/testData/inspections/i18n/NonNlsArray.java similarity index 80% rename from plugins/java-i18n/testData/inspections/i18n/nonNlsArray/src/Test.java rename to plugins/java-i18n/testData/inspections/i18n/NonNlsArray.java index 073910f6e79e..123cc7020eba 100644 --- a/plugins/java-i18n/testData/inspections/i18n/nonNlsArray/src/Test.java +++ b/plugins/java-i18n/testData/inspections/i18n/NonNlsArray.java @@ -1,6 +1,6 @@ class Foo { @org.jetbrains.annotations.NonNls String[] myArray = new String[] {"text1", "text2"}; - @org.jetbrains.annotations.NonNls Stirng[] foo() { + @org.jetbrains.annotations.NonNls String[] foo() { myArray = new String[] {"text3", "text4"}; myArray[0] = "text5"; diff --git a/plugins/java-i18n/testData/inspections/i18n/nonNlsComment/src/Foo.java b/plugins/java-i18n/testData/inspections/i18n/NonNlsComment.java similarity index 61% rename from plugins/java-i18n/testData/inspections/i18n/nonNlsComment/src/Foo.java rename to plugins/java-i18n/testData/inspections/i18n/NonNlsComment.java index d028b09721aa..b60426612730 100644 --- a/plugins/java-i18n/testData/inspections/i18n/nonNlsComment/src/Foo.java +++ b/plugins/java-i18n/testData/inspections/i18n/NonNlsComment.java @@ -1,12 +1,12 @@ class Foo { void foo(String... s) { foo("literal", "literal"); // MYNON-NLS0 - String d = "xxxxx"; // NON-NLS + String d = "xxxxx"; // NON-NLS String d0 = "xxxxx", d01="sssss"; //MYNON-NLS String d1 = "xxxxx"; // MYNON-NLS? String d2 = "xxxxx"; /* MYNON-NLS ??? */ - String wtf="MYNON-NLS"; + String wtf="MYNON-NLS"; String dw2 = "xxxxx"; String wtw="MYNON-NLS"; /* MYNON-NLS ??? */ } } \ No newline at end of file diff --git a/plugins/java-i18n/testData/inspections/i18n/parameterInNewAnonymousClass/src/Test.java b/plugins/java-i18n/testData/inspections/i18n/ParameterInNewAnonymousClass.java similarity index 89% rename from plugins/java-i18n/testData/inspections/i18n/parameterInNewAnonymousClass/src/Test.java rename to plugins/java-i18n/testData/inspections/i18n/ParameterInNewAnonymousClass.java index 46a6b8db81f3..e4d87465bd5a 100644 --- a/plugins/java-i18n/testData/inspections/i18n/parameterInNewAnonymousClass/src/Test.java +++ b/plugins/java-i18n/testData/inspections/i18n/ParameterInNewAnonymousClass.java @@ -1,4 +1,4 @@ -class Test { +abstract class Test { public static final Test TEST = new Test("text") { public void foo() {} }; diff --git a/plugins/java-i18n/testData/inspections/i18n/parameterInheritsNonNlsAnnotationFromSuper/src/Test.java b/plugins/java-i18n/testData/inspections/i18n/ParameterInheritsNonNlsAnnotationFromSuper.java similarity index 100% rename from plugins/java-i18n/testData/inspections/i18n/parameterInheritsNonNlsAnnotationFromSuper/src/Test.java rename to plugins/java-i18n/testData/inspections/i18n/ParameterInheritsNonNlsAnnotationFromSuper.java diff --git a/plugins/java-i18n/testData/inspections/i18n/RecursiveInheritance.java b/plugins/java-i18n/testData/inspections/i18n/RecursiveInheritance.java new file mode 100644 index 000000000000..94fba223ec24 --- /dev/null +++ b/plugins/java-i18n/testData/inspections/i18n/RecursiveInheritance.java @@ -0,0 +1,14 @@ +class A extends C{ + String foo(String p){ return "text";} +} + +class B extends A{ + String foo(String p){ return "text";} +} + +class C extends A{ + String foo(String p){ + foo("text"); + return "text"; + } +} \ No newline at end of file diff --git a/plugins/java-i18n/testData/inspections/i18n/returnTypeInheritsNonNlsAnnotationFromParent/src/Test.java b/plugins/java-i18n/testData/inspections/i18n/ReturnTypeInheritsNonNlsAnnotationFromParent.java similarity index 100% rename from plugins/java-i18n/testData/inspections/i18n/returnTypeInheritsNonNlsAnnotationFromParent/src/Test.java rename to plugins/java-i18n/testData/inspections/i18n/ReturnTypeInheritsNonNlsAnnotationFromParent.java diff --git a/plugins/java-i18n/testData/inspections/i18n/stringBufferNonNls/src/Bar.java b/plugins/java-i18n/testData/inspections/i18n/StringBufferNonNls.java similarity index 100% rename from plugins/java-i18n/testData/inspections/i18n/stringBufferNonNls/src/Bar.java rename to plugins/java-i18n/testData/inspections/i18n/StringBufferNonNls.java diff --git a/plugins/java-i18n/testData/inspections/i18n/switchOnNonNlsString/src/Test.java b/plugins/java-i18n/testData/inspections/i18n/SwitchOnNonNlsString.java similarity index 100% rename from plugins/java-i18n/testData/inspections/i18n/switchOnNonNlsString/src/Test.java rename to plugins/java-i18n/testData/inspections/i18n/SwitchOnNonNlsString.java diff --git a/plugins/java-i18n/testData/inspections/i18n/varargNonNlsParameter/src/Foo.java b/plugins/java-i18n/testData/inspections/i18n/VarargNonNlsParameter.java similarity index 100% rename from plugins/java-i18n/testData/inspections/i18n/varargNonNlsParameter/src/Foo.java rename to plugins/java-i18n/testData/inspections/i18n/VarargNonNlsParameter.java diff --git a/plugins/java-i18n/testData/inspections/i18n/annotationArgument/expected.xml b/plugins/java-i18n/testData/inspections/i18n/annotationArgument/expected.xml deleted file mode 100644 index d704d58ed391..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/annotationArgument/expected.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/plugins/java-i18n/testData/inspections/i18n/anonymousClassConstructorParameter/expected.xml b/plugins/java-i18n/testData/inspections/i18n/anonymousClassConstructorParameter/expected.xml deleted file mode 100644 index fe72ddee8876..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/anonymousClassConstructorParameter/expected.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - Test.java - 8 - Hard coded string literal - - - diff --git a/plugins/java-i18n/testData/inspections/i18n/anonymousClassConstructorParameter/src/Test.java b/plugins/java-i18n/testData/inspections/i18n/anonymousClassConstructorParameter/src/Test.java deleted file mode 100644 index dbd2e469ac2c..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/anonymousClassConstructorParameter/src/Test.java +++ /dev/null @@ -1,14 +0,0 @@ -class Test { - private class InnerTest { - public InnerTest(String s) { } - public abstract void run(); - } - - public void foo(String s) { - bar(new InnerTest("Literal") { public void run() { } }); - } - - public void bar(InnerTest t) { - - } -} diff --git a/plugins/java-i18n/testData/inspections/i18n/constructorCallOfNonNlsVariable/expected.xml b/plugins/java-i18n/testData/inspections/i18n/constructorCallOfNonNlsVariable/expected.xml deleted file mode 100644 index d704d58ed391..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/constructorCallOfNonNlsVariable/expected.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/plugins/java-i18n/testData/inspections/i18n/enum/expected.xml b/plugins/java-i18n/testData/inspections/i18n/enum/expected.xml deleted file mode 100644 index 4bc4c6551605..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/enum/expected.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - Test.java - 2 - Hard coded string literal - - - Test.java - 3 - Hard coded string literal - - - diff --git a/plugins/java-i18n/testData/inspections/i18n/fields/expected.xml b/plugins/java-i18n/testData/inspections/i18n/fields/expected.xml deleted file mode 100644 index d704d58ed391..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/fields/expected.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/plugins/java-i18n/testData/inspections/i18n/hardCodedStringLiteralAsParameter/expected.xml b/plugins/java-i18n/testData/inspections/i18n/hardCodedStringLiteralAsParameter/expected.xml deleted file mode 100644 index c93de21f0c36..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/hardCodedStringLiteralAsParameter/expected.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - Foo.java - 3 - Hard coded string literal - - - diff --git a/plugins/java-i18n/testData/inspections/i18n/hardCodedStringLiteralAsParameter/src/Foo.java b/plugins/java-i18n/testData/inspections/i18n/hardCodedStringLiteralAsParameter/src/Foo.java deleted file mode 100644 index 833bfdada65d..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/hardCodedStringLiteralAsParameter/src/Foo.java +++ /dev/null @@ -1,5 +0,0 @@ -class Foo { - void foo(String s) { - foo("text"); - } -} \ No newline at end of file diff --git a/plugins/java-i18n/testData/inspections/i18n/initializerInAnonymousClass/expected.xml b/plugins/java-i18n/testData/inspections/i18n/initializerInAnonymousClass/expected.xml deleted file mode 100644 index b66d698faee3..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/initializerInAnonymousClass/expected.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - Test.java - 7 - Hard coded string literal - - \ No newline at end of file diff --git a/plugins/java-i18n/testData/inspections/i18n/localVariables/expected.xml b/plugins/java-i18n/testData/inspections/i18n/localVariables/expected.xml deleted file mode 100644 index 8e7958ce9451..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/localVariables/expected.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - Test.java - 3 - Hard coded string literal - - - Test.java - 8 - Hard coded string literal - - - diff --git a/plugins/java-i18n/testData/inspections/i18n/nonNlsArray/expected.xml b/plugins/java-i18n/testData/inspections/i18n/nonNlsArray/expected.xml deleted file mode 100644 index d704d58ed391..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/nonNlsArray/expected.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/plugins/java-i18n/testData/inspections/i18n/nonNlsComment/expected.xml b/plugins/java-i18n/testData/inspections/i18n/nonNlsComment/expected.xml deleted file mode 100644 index e296a5c15fdf..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/nonNlsComment/expected.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - Foo.java - 4 - Hard coded strings - Hard coded string literal: 'xxxxx' - - - Foo.java - 9 - Hard coded strings - Hard coded string literal: 'MYNON-NLS' - - - diff --git a/plugins/java-i18n/testData/inspections/i18n/parameterInNewAnonymousClass/expected.xml b/plugins/java-i18n/testData/inspections/i18n/parameterInNewAnonymousClass/expected.xml deleted file mode 100644 index d704d58ed391..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/parameterInNewAnonymousClass/expected.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/plugins/java-i18n/testData/inspections/i18n/parameterInheritsNonNlsAnnotationFromSuper/expected.xml b/plugins/java-i18n/testData/inspections/i18n/parameterInheritsNonNlsAnnotationFromSuper/expected.xml deleted file mode 100644 index d704d58ed391..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/parameterInheritsNonNlsAnnotationFromSuper/expected.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/plugins/java-i18n/testData/inspections/i18n/recursiveInheritance/expected.xml b/plugins/java-i18n/testData/inspections/i18n/recursiveInheritance/expected.xml deleted file mode 100644 index a8e3c1edbb25..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/recursiveInheritance/expected.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - Test.java - 2 - Hard coded string literal - - - Test.java - 6 - Hard coded string literal - - - Test.java - 11 - Hard coded string literal - - - Test.java - 12 - Hard coded string literal - - - diff --git a/plugins/java-i18n/testData/inspections/i18n/recursiveInheritance/src/Test.java b/plugins/java-i18n/testData/inspections/i18n/recursiveInheritance/src/Test.java deleted file mode 100644 index fa637486fae2..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/recursiveInheritance/src/Test.java +++ /dev/null @@ -1,14 +0,0 @@ -class A extends C{ - String foo(String p){ return "text";} -} - -class B extends A{ - String foo(String p){ return "text";} -} - -class C extends A{ - String foo(String p){ - foo("text"); - return "text"; - } -} \ No newline at end of file diff --git a/plugins/java-i18n/testData/inspections/i18n/returnTypeInheritsNonNlsAnnotationFromParent/expected.xml b/plugins/java-i18n/testData/inspections/i18n/returnTypeInheritsNonNlsAnnotationFromParent/expected.xml deleted file mode 100644 index d704d58ed391..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/returnTypeInheritsNonNlsAnnotationFromParent/expected.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/plugins/java-i18n/testData/inspections/i18n/stringBufferNonNls/expected.xml b/plugins/java-i18n/testData/inspections/i18n/stringBufferNonNls/expected.xml deleted file mode 100644 index d704d58ed391..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/stringBufferNonNls/expected.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/plugins/java-i18n/testData/inspections/i18n/switchOnNonNlsString/expected.xml b/plugins/java-i18n/testData/inspections/i18n/switchOnNonNlsString/expected.xml deleted file mode 100644 index d704d58ed391..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/switchOnNonNlsString/expected.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/plugins/java-i18n/testData/inspections/i18n/varargNonNlsParameter/expected.xml b/plugins/java-i18n/testData/inspections/i18n/varargNonNlsParameter/expected.xml deleted file mode 100644 index d704d58ed391..000000000000 --- a/plugins/java-i18n/testData/inspections/i18n/varargNonNlsParameter/expected.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/plugins/java-i18n/testSrc/com/intellij/codeInspection/i18n/I18NInspectionTest.java b/plugins/java-i18n/testSrc/com/intellij/codeInspection/i18n/I18NInspectionTest.java index 4f71e39ae9a4..994af349059d 100644 --- a/plugins/java-i18n/testSrc/com/intellij/codeInspection/i18n/I18NInspectionTest.java +++ b/plugins/java-i18n/testSrc/com/intellij/codeInspection/i18n/I18NInspectionTest.java @@ -7,17 +7,17 @@ import com.intellij.openapi.application.PluginPathManager; import com.intellij.openapi.roots.LanguageLevelProjectExtension; import com.intellij.pom.java.LanguageLevel; import com.intellij.psi.JavaPsiFacade; -import com.intellij.testFramework.InspectionTestCase; +import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase; -/** - * @author lesya - */ -public class I18NInspectionTest extends InspectionTestCase { +import static com.intellij.testFramework.LightCodeInsightTestCase.getJavaFacade; + +public class I18NInspectionTest extends LightCodeInsightFixtureTestCase { + + I18nInspection myTool = new I18nInspection(); + private void doTest() { - doTest(new I18nInspection()); - } - private void doTest(I18nInspection tool) { - doTest("i18n/" + getTestName(true), tool); + myFixture.enableInspections(myTool); + myFixture.testHighlighting("i18n/" + getTestName(false) + ".java"); } public void testHardCodedStringLiteralAsParameter() { doTest(); } @@ -26,6 +26,7 @@ public class I18NInspectionTest extends InspectionTestCase { public void testParameterInheritsNonNlsAnnotationFromSuper() { doTest(); } public void testLocalVariables() { doTest(); } public void testFields() { doTest(); } + public void testInAnnotationArguments() { doTest(); } public void testAnonymousClassConstructorParameter() { doTest(); } public void testStringBufferNonNls() { doTest(); } public void testEnum() { @@ -47,10 +48,9 @@ public class I18NInspectionTest extends InspectionTestCase { public void testConstructorCallOfNonNlsVariable() { doTest(); } public void testSwitchOnNonNlsString() { doTest(); } public void testNonNlsComment() { - I18nInspection inspection = new I18nInspection(); - inspection.nonNlsCommentPattern = "MYNON-NLS"; - inspection.cacheNonNlsCommentPattern(); - doTest(inspection); + myTool.nonNlsCommentPattern = "MYNON-NLS"; + myTool.cacheNonNlsCommentPattern(); + doTest(); } public void testAnnotationArgument() { doTest(); }