/**********************************************************************
* Copyright (c) 2005-2009 ant4eclipse project team.
*
* 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:
* Nils Hartmann, Daniel Kasmeroglu, Gerd Wuetherich
**********************************************************************/
package org.ant4eclipse.ant.pde;
import org.ant4eclipse.testframework.AbstractTestDirectoryBasedBuildFileTest;
import org.ant4eclipse.testframework.PdeProjectBuilder;
public class ExecutePluginLibraryTaskTest extends AbstractTestDirectoryBasedBuildFileTest {
@Override
public void setUp() {
super.setUp();
configureProject("src/org/ant4eclipse/ant/pde/ExecutePluginLibraryTaskTest.xml");
}
public void testPdeProjectFileSet_simple() {
// set some ant properties
getProject().setProperty("workspaceDirectory", getTestDirectory().getRootDir().getAbsolutePath());
getProject().setProperty("project.name", "simpleproject1");
getProject().setProperty("library.name", ".");
// create simple project
PdeProjectBuilder pdeProjectBuilder = PdeProjectBuilder.getPreConfiguredPdeProjectBuilder("simpleproject1");
pdeProjectBuilder.withSourceClass("src", "de.gerd-wuetherich.test.Test").finishClass();
pdeProjectBuilder.withSourceClass("src", "de.gerd-wuetherich.test.Test2").finishClass();
pdeProjectBuilder.withBuildProperties().withLibrary(".").withSource("src").withSource("resource").withOutput("bin")
.finishLibrary();
pdeProjectBuilder.createIn(getTestDirectoryRootDir());
// expected log
String rootPath = getTestDirectoryRootDir().getAbsolutePath();
String expectedLog = normalize("- %1s\\simpleproject1\\bin -- bin -- %1s\\simpleproject1\\src -- src -- %1s\\simpleproject1\\resource -- resource -");
// execute test
expectLog("testExecutePluginLibrary", String.format(expectedLog, rootPath, rootPath, rootPath));
}
public void testPdeProjectFileSet_libraryDoesNotExist() {
// set some ant properties
getProject().setProperty("workspaceDirectory", getTestDirectory().getRootDir().getAbsolutePath());
getProject().setProperty("project.name", "simpleproject1");
getProject().setProperty("library.name", "hurz");
// create simple project
PdeProjectBuilder pdeProjectBuilder = PdeProjectBuilder.getPreConfiguredPdeProjectBuilder("simpleproject1");
pdeProjectBuilder.withSourceClass("src", "de.gerd-wuetherich.test.Test").finishClass();
pdeProjectBuilder.withSourceClass("src", "de.gerd-wuetherich.test.Test2").finishClass();
pdeProjectBuilder.withBuildProperties().withLibrary(".").withSource("src").withSource("resource").withOutput("bin")
.finishLibrary();
pdeProjectBuilder.createIn(getTestDirectoryRootDir());
// execute test
expectSpecificBuildException("testExecutePluginLibrary", "libraryDoesNotExist",
"org.ant4eclipse.core.exception.Ant4EclipseException: Library 'hurz' doesn't exist in project 'simpleproject1'.");
}
public void testPdeProjectFileSet_libraryWithoutSource() {
// set some ant properties
getProject().setProperty("workspaceDirectory", getTestDirectory().getRootDir().getAbsolutePath());
getProject().setProperty("project.name", "simpleproject1");
getProject().setProperty("library.name", ".");
// create simple project
PdeProjectBuilder pdeProjectBuilder = PdeProjectBuilder.getPreConfiguredPdeProjectBuilder("simpleproject1");
pdeProjectBuilder.withSourceClass("src", "de.gerd-wuetherich.test.Test").finishClass();
pdeProjectBuilder.withSourceClass("src", "de.gerd-wuetherich.test.Test2").finishClass();
pdeProjectBuilder.withBuildProperties().withLibrary(".").withOutput("bin").finishLibrary();
pdeProjectBuilder.createIn(getTestDirectoryRootDir());
// execute test
expectSpecificBuildException("testExecutePluginLibrary", "libraryDoesNotExist",
"org.ant4eclipse.core.exception.Ant4EclipseException: Library '.' doesn't exist in project 'simpleproject1'.");
}
}