mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 06:50:54 +07:00
FileTemplatesTest: test collect undefined attribute names
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.intellij.ide.fileTemplates
|
||||
import com.intellij.ide.fileTemplates.impl.CustomFileTemplate
|
||||
import com.intellij.openapi.Disposable
|
||||
import com.intellij.openapi.application.ex.PathManagerEx
|
||||
import com.intellij.openapi.roots.ModuleRootManager
|
||||
import com.intellij.openapi.util.io.FileUtil
|
||||
@@ -86,28 +87,38 @@ public class FileTemplatesTest extends IdeaTestCase {
|
||||
assertNotNull(catchBodyTemplate);
|
||||
}
|
||||
|
||||
public void "test collect undefined attribute names"() {
|
||||
String name = "myclass";
|
||||
FileTemplate template = addTestTemplate(name, '${ABC} ${DEF} ${NAME}')
|
||||
Properties properties = new Properties()
|
||||
properties.NAME = 'zzz'
|
||||
assert template.getUnsetAttributes(properties) as Set == ['ABC', 'DEF'] as Set
|
||||
}
|
||||
|
||||
public void testDefaultPackage() throws Exception {
|
||||
String name = "myclass";
|
||||
FileTemplate template = FileTemplateManager.getInstance().addInternal(name/*+"ForTest"*/, "java");
|
||||
try {
|
||||
template.setText('package ${PACKAGE_NAME}; public class ${NAME} {}');
|
||||
FileTemplate template = addTestTemplate(name, 'package ${PACKAGE_NAME}; public class ${NAME} {}')
|
||||
|
||||
File temp = FileUtil.createTempDirectory(getTestName(true), "");
|
||||
File temp = FileUtil.createTempDirectory(getTestName(true), "");
|
||||
|
||||
myFilesToDelete.add(temp);
|
||||
final VirtualFile tempDir = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(temp);
|
||||
myFilesToDelete.add(temp);
|
||||
final VirtualFile tempDir = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(temp);
|
||||
|
||||
PsiTestUtil.addSourceRoot(getModule(), tempDir);
|
||||
PsiTestUtil.addSourceRoot(getModule(), tempDir);
|
||||
|
||||
VirtualFile sourceRoot = ModuleRootManager.getInstance(getModule()).getSourceRoots()[0];
|
||||
PsiDirectory psiDirectory = PsiManager.getInstance(getProject()).findDirectory(sourceRoot);
|
||||
VirtualFile sourceRoot = ModuleRootManager.getInstance(getModule()).getSourceRoots()[0];
|
||||
PsiDirectory psiDirectory = PsiManager.getInstance(getProject()).findDirectory(sourceRoot);
|
||||
|
||||
PsiClass psiClass = JavaDirectoryService.getInstance().createClass(psiDirectory, "XXX", name);
|
||||
assertNotNull(psiClass);
|
||||
assertEquals("public class XXX {\n}", psiClass.getContainingFile().getText());
|
||||
}
|
||||
finally {
|
||||
FileTemplateManager.getInstance().removeTemplate(template);
|
||||
}
|
||||
PsiClass psiClass = JavaDirectoryService.getInstance().createClass(psiDirectory, "XXX", name);
|
||||
assertNotNull(psiClass);
|
||||
assertEquals("public class XXX {\n}", psiClass.getContainingFile().getText());
|
||||
FileTemplateManager.getInstance().removeTemplate(template);
|
||||
}
|
||||
|
||||
private FileTemplate addTestTemplate(String name, String text) {
|
||||
FileTemplate template = FileTemplateManager.getInstance().addInternal(name, "java");
|
||||
disposeOnTearDown({ FileTemplateManager.getInstance().removeTemplate(template) } as Disposable)
|
||||
template.setText(text);
|
||||
template
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user