summaryrefslogtreecommitdiff
path: root/jvm/jvm-analysis-java-tests/testSrc/com/intellij/codeInspection/tests/java/NonNlsUastUtilTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'jvm/jvm-analysis-java-tests/testSrc/com/intellij/codeInspection/tests/java/NonNlsUastUtilTest.java')
-rw-r--r--jvm/jvm-analysis-java-tests/testSrc/com/intellij/codeInspection/tests/java/NonNlsUastUtilTest.java49
1 files changed, 49 insertions, 0 deletions
diff --git a/jvm/jvm-analysis-java-tests/testSrc/com/intellij/codeInspection/tests/java/NonNlsUastUtilTest.java b/jvm/jvm-analysis-java-tests/testSrc/com/intellij/codeInspection/tests/java/NonNlsUastUtilTest.java
new file mode 100644
index 00000000..7e2ac8d4
--- /dev/null
+++ b/jvm/jvm-analysis-java-tests/testSrc/com/intellij/codeInspection/tests/java/NonNlsUastUtilTest.java
@@ -0,0 +1,49 @@
+package com.intellij.codeInspection.tests.java;
+
+import com.intellij.jvm.analysis.JvmAnalysisTestsUtil;
+import com.intellij.psi.PsiFile;
+import com.intellij.testFramework.TestDataPath;
+import com.intellij.testFramework.builders.JavaModuleFixtureBuilder;
+import com.intellij.testFramework.fixtures.JavaCodeInsightFixtureTestCase;
+import com.intellij.util.PathUtil;
+import org.jetbrains.annotations.NonNls;
+import org.jetbrains.uast.ULiteralExpression;
+
+import java.util.Set;
+
+import static com.intellij.codeInspection.NonNlsUastUtil.isNonNlsStringLiteral;
+import static com.intellij.codeInspection.tests.JvmAnalysisTestsUastUtil.getUElementsOfTypeFromFile;
+
+@TestDataPath("$CONTENT_ROOT/testData/codeInspection/nonNls")
+public class NonNlsUastUtilTest extends JavaCodeInsightFixtureTestCase {
+ @Override
+ protected String getTestDataPath() {
+ return JvmAnalysisTestsUtil.TEST_DATA_PROJECT_RELATIVE_BASE_PATH + "/codeInspection/nonNls";
+ }
+
+ @Override
+ protected void tuneFixture(JavaModuleFixtureBuilder moduleBuilder) {
+ moduleBuilder.addLibrary("annotations", PathUtil.getJarPathForClass(NonNls.class));
+ }
+
+ public void testNonNlsStringLiterals() {
+ PsiFile file = myFixture.configureByFile("NonNlsStringLiteral.java");
+ Set<ULiteralExpression> expressions = getUElementsOfTypeFromFile(file, ULiteralExpression.class);
+ assertSize(12, expressions);
+ expressions.forEach(expression -> assertTrue(isNonNlsStringLiteral(expression)));
+ }
+
+ public void testPlainStringLiterals() {
+ PsiFile file = myFixture.configureByFile("PlainStringLiteral.java");
+ Set<ULiteralExpression> expressions = getUElementsOfTypeFromFile(file, ULiteralExpression.class);
+ assertSize(7, expressions);
+ expressions.forEach(expression -> assertFalse(isNonNlsStringLiteral(expression)));
+ }
+
+ public void testLiteralsInNonNlsClass() {
+ PsiFile file = myFixture.configureByFile("LiteralsInNonNlsClass.java");
+ Set<ULiteralExpression> expressions = getUElementsOfTypeFromFile(file, ULiteralExpression.class);
+ assertSize(7, expressions);
+ expressions.forEach(expression -> assertTrue(isNonNlsStringLiteral(expression)));
+ }
+}