From b26f1de3d728a0fc6616931a374b46eb23277d8b Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Wed, 20 Jan 2010 21:58:20 +0300 Subject: [PATCH] don't rely on doTest() name, search for testdata references in all methods called in the same class --- .../com/intellij/testAssistant/TestDataReferenceCollector.java | 8 ++++---- .../testData/referenceCollector/ReferencesInAnyMethod.java | 10 ++++++++++ .../intellij/testAssistant/TestDataReferenceCollectorTest.java | 8 +++++++- 3 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 plugins/IdeaTestAssistant/testData/referenceCollector/ReferencesInAnyMethod.java diff --git a/plugins/IdeaTestAssistant/src/com/intellij/testAssistant/TestDataReferenceCollector.java b/plugins/IdeaTestAssistant/src/com/intellij/testAssistant/TestDataReferenceCollector.java index 55f5964192..c7d343c3d5 100644 --- a/plugins/IdeaTestAssistant/src/com/intellij/testAssistant/TestDataReferenceCollector.java +++ b/plugins/IdeaTestAssistant/src/com/intellij/testAssistant/TestDataReferenceCollector.java @@ -54,10 +54,10 @@ public class TestDataReferenceCollector { processCallArgument(expression, argumentMap, result, 0); processCallArgument(expression, argumentMap, result, 1); } - else if (callText.startsWith("do") && callText.endsWith("Test")) { - final PsiMethod doTestMethod = expression.resolveMethod(); - if (doTestMethod != null) { - result.addAll(collectTestDataReferences(doTestMethod, buildArgumentMap(expression, doTestMethod))); + else if (expression.getMethodExpression().getQualifierExpression() == null) { + final PsiMethod callee = expression.resolveMethod(); + if (callee != null) { + result.addAll(collectTestDataReferences(callee, buildArgumentMap(expression, callee))); } } } diff --git a/plugins/IdeaTestAssistant/testData/referenceCollector/ReferencesInAnyMethod.java b/plugins/IdeaTestAssistant/testData/referenceCollector/ReferencesInAnyMethod.java new file mode 100644 index 0000000000..e9aa3e50b5 --- /dev/null +++ b/plugins/IdeaTestAssistant/testData/referenceCollector/ReferencesInAnyMethod.java @@ -0,0 +1,10 @@ +public class ATest extends LightCodeInsightFixtureTestCase { + + public void testReferencesInAnyMethod() throws Exception { + resolve(); + } + + private void resolve() throws Exception { + configureByFile("before"); + } +} diff --git a/plugins/IdeaTestAssistant/testSrc/com/intellij/testAssistant/TestDataReferenceCollectorTest.java b/plugins/IdeaTestAssistant/testSrc/com/intellij/testAssistant/TestDataReferenceCollectorTest.java index f2d6205a13..cea843a99e 100644 --- a/plugins/IdeaTestAssistant/testSrc/com/intellij/testAssistant/TestDataReferenceCollectorTest.java +++ b/plugins/IdeaTestAssistant/testSrc/com/intellij/testAssistant/TestDataReferenceCollectorTest.java @@ -26,7 +26,7 @@ import java.util.List; /** * @author yole */ -@TestDataPath("$CONTENT_ROOT/testData") +@TestDataPath("$CONTENT_ROOT/testData/") public class TestDataReferenceCollectorTest extends LightCodeInsightFixtureTestCase { public void testFixtureConfigureByFile() throws Exception { final List references = doTest(); @@ -47,6 +47,12 @@ public class TestDataReferenceCollectorTest extends LightCodeInsightFixtureTestC assertTrue(references.contains("after")); } + public void testReferencesInAnyMethod() throws Exception { + final List references = doTest(); + assertEquals(1, references.size()); + assertEquals("before", references.get(0)); + } + private List doTest() throws Exception { myFixture.configureByFile("referenceCollector/" + getTestName(false) + ".java"); final PsiMethod theMethod = ((PsiJavaFile)myFixture.getFile()).getClasses()[0].getMethods()[0]; -- 2.11.4.GIT