From 4b9f128fd7175baaa8fb41f255805581f69de616 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Mon, 16 Mar 2015 16:54:42 +0100 Subject: [PATCH] test frameworks: provide tested class name (${CLASS_NAME}) for generation templates (IDEA-124845) --- .../testIntegration/createTest/CreateTestDialog.java | 4 ++++ .../testIntegration/createTest/JavaTestGenerator.java | 4 ++++ .../junit/src/fileTemplates/code/JUnit3 Test Class.java.html | 5 +++++ .../junit/src/fileTemplates/code/JUnit4 Test Class.java.html | 5 +++++ .../src/fileTemplates/code/TestNG Test Class.java.html | 5 +++++ 5 files changed, 23 insertions(+) diff --git a/java/java-impl/src/com/intellij/testIntegration/createTest/CreateTestDialog.java b/java/java-impl/src/com/intellij/testIntegration/createTest/CreateTestDialog.java index c07294b60351..efdb2e01825f 100644 --- a/java/java-impl/src/com/intellij/testIntegration/createTest/CreateTestDialog.java +++ b/java/java-impl/src/com/intellij/testIntegration/createTest/CreateTestDialog.java @@ -442,6 +442,10 @@ public class CreateTestDialog extends DialogWrapper { return myTargetClassNameField.getText(); } + public PsiClass getTargetClass() { + return myTargetClass; + } + @Nullable public String getSuperClassName() { String result = mySuperClassField.getText().trim(); diff --git a/java/java-impl/src/com/intellij/testIntegration/createTest/JavaTestGenerator.java b/java/java-impl/src/com/intellij/testIntegration/createTest/JavaTestGenerator.java index 78a6f2a2349a..cb22be31dde8 100644 --- a/java/java-impl/src/com/intellij/testIntegration/createTest/JavaTestGenerator.java +++ b/java/java-impl/src/com/intellij/testIntegration/createTest/JavaTestGenerator.java @@ -126,6 +126,10 @@ public class JavaTestGenerator implements TestGenerator { final Properties defaultProperties = FileTemplateManager.getInstance(targetDirectory.getProject()).getDefaultProperties(); Properties properties = new Properties(defaultProperties); properties.setProperty(FileTemplate.ATTRIBUTE_NAME, d.getClassName()); + final PsiClass targetClass = d.getTargetClass(); + if (targetClass != null && targetClass.isValid()) { + properties.setProperty(FileTemplate.ATTRIBUTE_CLASS_NAME, targetClass.getQualifiedName()); + } try { final PsiElement psiElement = FileTemplateUtil.createFromTemplate(fileTemplate, templateName, properties, targetDirectory); if (psiElement instanceof PsiClass) { diff --git a/plugins/junit/src/fileTemplates/code/JUnit3 Test Class.java.html b/plugins/junit/src/fileTemplates/code/JUnit3 Test Class.java.html index a015267dedfd..fa8f461d46c9 100644 --- a/plugins/junit/src/fileTemplates/code/JUnit3 Test Class.java.html +++ b/plugins/junit/src/fileTemplates/code/JUnit3 Test Class.java.html @@ -16,6 +16,11 @@   name of the created class. + + ${CLASS_NAME} +   + name of the tested class. + ${BODY}   diff --git a/plugins/junit/src/fileTemplates/code/JUnit4 Test Class.java.html b/plugins/junit/src/fileTemplates/code/JUnit4 Test Class.java.html index c2ff42e4777c..17c69ded9d16 100644 --- a/plugins/junit/src/fileTemplates/code/JUnit4 Test Class.java.html +++ b/plugins/junit/src/fileTemplates/code/JUnit4 Test Class.java.html @@ -16,6 +16,11 @@   name of the created class. + + ${CLASS_NAME} +   + name of the tested class. + ${BODY}   diff --git a/plugins/testng/src/fileTemplates/code/TestNG Test Class.java.html b/plugins/testng/src/fileTemplates/code/TestNG Test Class.java.html index 5b04f0197f7a..f068ea33a622 100644 --- a/plugins/testng/src/fileTemplates/code/TestNG Test Class.java.html +++ b/plugins/testng/src/fileTemplates/code/TestNG Test Class.java.html @@ -16,6 +16,11 @@   name of the created class. + + ${CLASS_NAME} +   + name of the tested class. + ${BODY}