mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
navigate to testdata: add tests for multifile test data
This commit is contained in:
+6
@@ -0,0 +1,6 @@
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class SomeTestWithTestDataDir extends TestCase {
|
||||
public void test<caret>TestDataForThisTest() {
|
||||
}
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class SomeTestWithTestDataDir extends TestCase {
|
||||
public void testIntelliJ<caret>IDEA() {
|
||||
|
||||
}
|
||||
|
||||
public void testTestDataForThisTest() {
|
||||
}
|
||||
}
|
||||
+33
@@ -18,6 +18,7 @@ package org.jetbrains.idea.devkit.testAssistant;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.projectRoots.ex.JavaSdkUtil;
|
||||
import com.intellij.openapi.util.ThrowableComputable;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiClass;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
@@ -25,6 +26,7 @@ import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.testFramework.PsiTestUtil;
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import com.intellij.testFramework.builders.JavaModuleFixtureBuilder;
|
||||
import com.intellij.util.PathUtil;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.idea.devkit.DevkitJavaTestsUtil;
|
||||
import org.jetbrains.jps.model.java.JavaResourceRootType;
|
||||
@@ -127,6 +129,29 @@ public class TestDataGuessByExistingFilesUtilTest extends TestDataPathTestCase {
|
||||
verifyResultForOnlySame(result);
|
||||
}
|
||||
|
||||
public void testCollectTestDataByDirName() {
|
||||
PsiMethod testMethod = getTestMethodWithTestDataDir();
|
||||
List<TestDataFile> result = TestDataGuessByExistingFilesUtil.suggestTestDataFiles(
|
||||
TestDataGuessByExistingFilesUtil.getTestName(testMethod.getName()), null, testMethod.getContainingClass());
|
||||
assertSize(2, result);
|
||||
assertTrue(result.get(0).exists() && result.get(1).exists());
|
||||
assertEquals(ContainerUtil.set("before.java", "after.java"), ContainerUtil.map2Set(result, TestDataFile::getName));
|
||||
}
|
||||
|
||||
public void testGuessTestDataByRelatedByDirName() {
|
||||
PsiMethod testMethod = getTestMethodWithTestDataDirAndSibling();
|
||||
|
||||
List<TestDataFile> result = TestDataGuessByExistingFilesUtil.guessTestDataName(testMethod);
|
||||
assertSize(2, result);
|
||||
assertTrue(!result.get(0).exists() && !result.get(1).exists());
|
||||
assertEquals(ContainerUtil.set("before.java", "after.java"), ContainerUtil.map2Set(result, TestDataFile::getName));
|
||||
String parentName1 = PathUtil.getFileName(PathUtil.getParentPath(result.get(0).getPath()));
|
||||
String parentName2 = PathUtil.getFileName(PathUtil.getParentPath(result.get(1).getPath()));
|
||||
|
||||
String expected = StringUtil.decapitalize(TestDataGuessByExistingFilesUtil.getTestName(testMethod.getName()));
|
||||
assertEquals(expected, parentName1);
|
||||
assertEquals(expected, parentName2);
|
||||
}
|
||||
|
||||
private PsiMethod getTestMethodWithBeforeAndAfterTestData() {
|
||||
return getTestMethod("SomeTest_BeforeAndAfter.java", "somethingBA_before.java", "somethingBA_after.java");
|
||||
@@ -140,6 +165,14 @@ public class TestDataGuessByExistingFilesUtilTest extends TestDataPathTestCase {
|
||||
return getTestMethod("SomeTest_AfterAndSame.java", "somethingAS_after.java", "somethingAS.java");
|
||||
}
|
||||
|
||||
private PsiMethod getTestMethodWithTestDataDir() {
|
||||
return getTestMethod("SomeTestWithTestDataDir.java", "testDataForThisTest/before.java", "testDataForThisTest/after.java");
|
||||
}
|
||||
|
||||
private PsiMethod getTestMethodWithTestDataDirAndSibling() {
|
||||
return getTestMethod("SomeTestWithTestDataDirAndSibling.java", "testDataForThisTest/before.java", "testDataForThisTest/after.java");
|
||||
}
|
||||
|
||||
private PsiMethod getTestMethodWithOnlySameTestData() {
|
||||
return getTestMethod("SomeTest_OnlySame.java", "somethingS.java");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user