Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.cdt.ui.tests/src/org/eclipse/cdt/ui/tests/templateengine/TestProcesses.java')
-rw-r--r--core/org.eclipse.cdt.ui.tests/src/org/eclipse/cdt/ui/tests/templateengine/TestProcesses.java260
1 files changed, 260 insertions, 0 deletions
diff --git a/core/org.eclipse.cdt.ui.tests/src/org/eclipse/cdt/ui/tests/templateengine/TestProcesses.java b/core/org.eclipse.cdt.ui.tests/src/org/eclipse/cdt/ui/tests/templateengine/TestProcesses.java
new file mode 100644
index 00000000000..83842d838e0
--- /dev/null
+++ b/core/org.eclipse.cdt.ui.tests/src/org/eclipse/cdt/ui/tests/templateengine/TestProcesses.java
@@ -0,0 +1,260 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Symbian Software Limited and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Bala Torati (Symbian) - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.cdt.ui.tests.templateengine;
+
+import java.io.File;
+import java.util.Map;
+
+import org.eclipse.cdt.core.CCorePlugin;
+import org.eclipse.cdt.core.templateengine.TemplateCore;
+import org.eclipse.cdt.core.templateengine.TemplateEngine;
+import org.eclipse.cdt.core.testplugin.util.BaseTestCase;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Platform;
+
+public class TestProcesses extends BaseTestCase {
+
+ private static final String workspaceLocation = ResourcesPlugin.getWorkspace().getRoot().getRawLocation().toOSString();
+ private static final String PROJECT_NAME = "TemplateEngineTestsProject"; //$NON-NLS-1$
+ private static final String SOURCE_FOLDER = "Source"; //$NON-NLS-1$
+ private static final String FILE_NAME = "File"; //$NON-NLS-1$
+ private static final String LINK = "Link"; //$NON-NLS-1$
+ private static final String CPP_EXT = ".cpp"; //$NON-NLS-1$
+ private static final String H_EXT = ".h"; //$NON-NLS-1$
+
+ private static final String PROJECT_TYPE = "org.eclipse.cdt.core.tests.projectType"; //$NON-NLS-1$
+
+ protected void setUp() throws Exception {
+ TemplateEngineTestsHelper.turnOffAutoBuild();
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
+ IPath projectLocation = project.getRawLocation();
+
+ if (project.exists()) {
+ project.delete(true, true, null);
+ }
+ IWorkspace workspace = ResourcesPlugin.getWorkspace();
+ IProjectDescription description = workspace.newProjectDescription(project.getName());
+
+ if ((projectLocation != null) && (!projectLocation.equals(Platform.getLocation()))) {
+ description.setLocation(projectLocation);
+ }
+
+ CCorePlugin.getDefault().createCDTProject(description, project, null);
+ if (!project.isOpen()) {
+ project.open(null);
+ }
+
+ }
+
+ public void testAddFile() {
+ TemplateCore template = TemplateEngine.getDefault().getFirstTemplate(PROJECT_TYPE, null, ".*AddFile"); //$NON-NLS-1$
+ Map valueStore = template.getValueStore();
+ valueStore.put("projectName", PROJECT_NAME); //$NON-NLS-1$
+ valueStore.put("projectType", PROJECT_TYPE); //$NON-NLS-1$
+ valueStore.put("location", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("isCProject", "false"); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("baseName", FILE_NAME); //$NON-NLS-1$
+
+ if (TemplateEngineTestsHelper.failIfErrorStatus(template.executeTemplateProcesses(null, false))) {
+ return;
+ }
+
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
+ assertTrue(project.exists());
+ IFile file = project.getFile(FILE_NAME + CPP_EXT);
+ assertTrue(file.exists());
+ file = project.getFile(FILE_NAME + H_EXT);
+ assertTrue(file.exists());
+ }
+
+ public void testAddFiles() {
+ TemplateCore template = TemplateEngine.getDefault().getFirstTemplate(PROJECT_TYPE, null, ".*AddFiles"); //$NON-NLS-1$
+ Map valueStore = template.getValueStore();
+ valueStore.put("projectName", PROJECT_NAME); //$NON-NLS-1$
+ valueStore.put("projectType", PROJECT_TYPE); //$NON-NLS-1$
+ valueStore.put("location", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("isCProject", "false"); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("baseName", FILE_NAME); //$NON-NLS-1$
+
+ if (TemplateEngineTestsHelper.failIfErrorStatus(template.executeTemplateProcesses(null, false))) {
+ return;
+ }
+
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
+ assertTrue(project.exists());
+ IFile file = project.getFile(FILE_NAME + CPP_EXT);
+ assertTrue(file.exists());
+ file = project.getFile(FILE_NAME + H_EXT);
+ assertTrue(file.exists());
+ }
+
+ public void testAddLink() {
+ TemplateCore template = TemplateEngine.getDefault().getFirstTemplate(PROJECT_TYPE, null, ".*AddLink"); //$NON-NLS-1$
+ Map valueStore = template.getValueStore();
+ valueStore.put("projectName", PROJECT_NAME); //$NON-NLS-1$
+ valueStore.put("projectType", PROJECT_TYPE); //$NON-NLS-1$
+ valueStore.put("location", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("isCProject", "false"); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("baseName", FILE_NAME); //$NON-NLS-1$
+
+ if (TemplateEngineTestsHelper.failIfErrorStatus(template.executeTemplateProcesses(null, false))) {
+ return;
+ }
+
+ try {
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
+ assertTrue(project.exists());
+ project.refreshLocal(1, null);
+ IFile file = project.getFile(FILE_NAME + CPP_EXT);
+ assertTrue(file.exists());
+ file = project.getFile(FILE_NAME + LINK + CPP_EXT);
+ assertTrue(file.exists());
+ } catch (CoreException e) {
+ fail(e.getMessage());
+ }
+ }
+
+ public void testAppend() {
+ TemplateCore template = TemplateEngine.getDefault().getFirstTemplate(PROJECT_TYPE, null, ".*Append"); //$NON-NLS-1$
+ Map valueStore = template.getValueStore();
+ valueStore.put("projectName", PROJECT_NAME); //$NON-NLS-1$
+ valueStore.put("projectType", PROJECT_TYPE); //$NON-NLS-1$
+ valueStore.put("location", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("isCProject", "false"); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("baseName", FILE_NAME); //$NON-NLS-1$
+
+ valueStore.put("targetSourceName", workspaceLocation + File.separator + PROJECT_NAME + File.separator + FILE_NAME + CPP_EXT); //$NON-NLS-1$
+ valueStore.put("targetHeaderName", workspaceLocation + File.separator + PROJECT_NAME + File.separator + FILE_NAME + H_EXT); //$NON-NLS-1$
+
+ if (TemplateEngineTestsHelper.failIfErrorStatus(template.executeTemplateProcesses(null, false))) {
+ return;
+ }
+
+ try {
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
+ assertTrue(project.exists());
+ project.refreshLocal(1, null);
+ IFile file = project.getFile(FILE_NAME + CPP_EXT);
+ assertTrue(file.exists());
+ file = project.getFile(FILE_NAME + H_EXT);
+ assertTrue(file.exists());
+ } catch (CoreException e) {
+ fail(e.getMessage());
+ }
+ }
+
+ public void testAppendCreate() {
+ TemplateCore template = TemplateEngine.getDefault().getFirstTemplate(PROJECT_TYPE, null, ".*AppendCreate"); //$NON-NLS-1$
+ Map valueStore = template.getValueStore();
+ valueStore.put("projectName", PROJECT_NAME); //$NON-NLS-1$
+ valueStore.put("projectType", PROJECT_TYPE); //$NON-NLS-1$
+ valueStore.put("location", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("isCProject", "false"); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("baseName", FILE_NAME); //$NON-NLS-1$
+
+ valueStore.put("targetSourceName", FILE_NAME + CPP_EXT); //$NON-NLS-1$
+ valueStore.put("targetHeaderName", FILE_NAME + H_EXT); //$NON-NLS-1$
+
+ if (TemplateEngineTestsHelper.failIfErrorStatus(template.executeTemplateProcesses(null, false))) {
+ return;
+ }
+
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
+ assertTrue(project.exists());
+ IFile file = project.getFile(FILE_NAME + CPP_EXT);
+ assertTrue(file.exists());
+ file = project.getFile(FILE_NAME + H_EXT);
+ assertTrue(file.exists());
+ }
+
+ public void testCopy() {
+ TemplateCore template = TemplateEngine.getDefault().getFirstTemplate(PROJECT_TYPE, null, ".*Copy"); //$NON-NLS-1$
+ Map valueStore = template.getValueStore();
+ valueStore.put("projectName", PROJECT_NAME); //$NON-NLS-1$
+ valueStore.put("projectType", PROJECT_TYPE); //$NON-NLS-1$
+ valueStore.put("location", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("isCProject", "false"); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("baseName", FILE_NAME); //$NON-NLS-1$
+
+ valueStore.put("targetSourceName", workspaceLocation + File.separator + PROJECT_NAME + File.separator + FILE_NAME + CPP_EXT); //$NON-NLS-1$
+ valueStore.put("targetHeaderName", workspaceLocation + File.separator + PROJECT_NAME + File.separator + FILE_NAME + H_EXT); //$NON-NLS-1$
+
+ if (TemplateEngineTestsHelper.failIfErrorStatus(template.executeTemplateProcesses(null, false))) {
+ return;
+ }
+
+ try {
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
+ assertTrue(project.exists());
+ project.refreshLocal(1, null);
+ IFile file = project.getFile(FILE_NAME + CPP_EXT);
+ assertTrue(file.exists());
+ file = project.getFile(FILE_NAME + H_EXT);
+ assertTrue(file.exists());
+ } catch (CoreException e) {
+ fail(e.getMessage());
+ }
+ }
+
+ public void testCreateResourceIdentifier() {
+ TemplateCore template = TemplateEngine.getDefault().getFirstTemplate(PROJECT_TYPE, null, ".*CreateResourceIdentifier"); //$NON-NLS-1$
+ Map valueStore = template.getValueStore();
+ valueStore.put("projectName", PROJECT_NAME); //$NON-NLS-1$
+ valueStore.put("projectType", PROJECT_TYPE); //$NON-NLS-1$
+ valueStore.put("location", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("isCProject", "false"); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("valueName1", "baseName1"); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("appName1", "Hello"); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("valueName2", "baseName2"); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("appName2", "He"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ if (TemplateEngineTestsHelper.failIfErrorStatus(template.executeTemplateProcesses(null, false))) {
+ return;
+ }
+
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
+ assertTrue(project.exists());
+ IFile file = project.getFile("HELL" + CPP_EXT); //$NON-NLS-1$
+ assertTrue(file.exists());
+ file = project.getFile("HEXX" + CPP_EXT); //$NON-NLS-1$
+ assertTrue(file.exists());
+ }
+
+ public void testCreateSourceFolder() {
+ TemplateCore template = TemplateEngine.getDefault().getFirstTemplate(PROJECT_TYPE, null, ".*CreateSourceFolder"); //$NON-NLS-1$
+ Map valueStore = template.getValueStore();
+ valueStore.put("projectName", PROJECT_NAME); //$NON-NLS-1$
+ valueStore.put("projectType", PROJECT_TYPE); //$NON-NLS-1$
+ valueStore.put("location", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("isCProject", "false"); //$NON-NLS-1$ //$NON-NLS-2$
+ valueStore.put("sourceDir1", SOURCE_FOLDER + 1); //$NON-NLS-1$
+ valueStore.put("sourceDir2", SOURCE_FOLDER + 2); //$NON-NLS-1$
+
+ if (TemplateEngineTestsHelper.failIfErrorStatus(template.executeTemplateProcesses(null, false))) {
+ return;
+ }
+
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(PROJECT_NAME);
+ assertTrue(project.exists());
+ IFolder folder = project.getFolder(SOURCE_FOLDER + 1);
+ assertTrue(folder.exists());
+ folder = project.getFolder(SOURCE_FOLDER + 2);
+ assertTrue(folder.exists());
+ }
+
+}

Back to the top