summaryrefslogtreecommitdiff
path: root/src/test/java/net/sf/antcontrib/cpptasks/TestTargetInfo.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/net/sf/antcontrib/cpptasks/TestTargetInfo.java')
-rw-r--r--src/test/java/net/sf/antcontrib/cpptasks/TestTargetInfo.java134
1 files changed, 134 insertions, 0 deletions
diff --git a/src/test/java/net/sf/antcontrib/cpptasks/TestTargetInfo.java b/src/test/java/net/sf/antcontrib/cpptasks/TestTargetInfo.java
new file mode 100644
index 0000000..5851805
--- /dev/null
+++ b/src/test/java/net/sf/antcontrib/cpptasks/TestTargetInfo.java
@@ -0,0 +1,134 @@
+/*
+ *
+ * Copyright 2002-2004 The Ant-Contrib project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package net.sf.antcontrib.cpptasks;
+import java.io.File;
+import junit.framework.TestCase;
+import net.sf.antcontrib.cpptasks.compiler.CompilerConfiguration;
+import net.sf.antcontrib.cpptasks.compiler.ProgressMonitor;
+import org.apache.tools.ant.BuildException;
+import net.sf.antcontrib.cpptasks.VersionInfo;
+
+
+/**
+ * A description of a file built or to be built
+ */
+public class TestTargetInfo extends TestCase {
+ private class DummyConfiguration implements CompilerConfiguration {
+ public int bid(String filename) {
+ return 1;
+ }
+ public void close() {
+ }
+ public void compile(CCTask task, File workingDir, String[] source,
+ boolean relentless, ProgressMonitor monitor)
+ throws BuildException {
+ throw new BuildException("Not implemented");
+ }
+ public CompilerConfiguration[] createPrecompileConfigurations(
+ File file, String[] exceptFiles) {
+ return null;
+ }
+ public String getIdentifier() {
+ return "dummy";
+ }
+ public String[] getIncludeDirectories() {
+ return new String[0];
+ }
+ public String getIncludePathIdentifier() {
+ return "dummyIncludePath";
+ }
+ public String[] getOutputFileNames(String inputFile, VersionInfo versionInfo) {
+ return new String[0];
+ }
+ public CompilerParam getParam(String name) {
+ return null;
+ }
+ public ProcessorParam[] getParams() {
+ return new ProcessorParam[0];
+ }
+ public boolean getRebuild() {
+ return false;
+ }
+ public boolean isPrecompileGeneration() {
+ return true;
+ }
+ public DependencyInfo parseIncludes(CCTask task, File baseDir, File file) {
+ return null;
+ }
+ }
+ public TestTargetInfo(String name) {
+ super(name);
+ }
+ public void testConstructorNullConfig() {
+ try {
+ new TargetInfo(null, new File[]{new File("")}, null, new File(""),
+ false);
+ fail("Didn't throw exception");
+ } catch (NullPointerException ex) {
+ }
+ }
+ public void testConstructorNullOutput() {
+ CompilerConfiguration config = new DummyConfiguration();
+ try {
+ new TargetInfo(config, new File[]{new File("")}, null, null, false);
+ fail("Didn't throw exception");
+ } catch (NullPointerException ex) {
+ }
+ }
+ public void testConstructorNullSource() {
+ CompilerConfiguration config = new DummyConfiguration();
+ try {
+ new TargetInfo(config, null, null, new File(""), false);
+ fail("Didn't throw exception");
+ } catch (NullPointerException ex) {
+ }
+ }
+ public void testGetRebuild() {
+ CompilerConfiguration config = new DummyConfiguration();
+ TargetInfo targetInfo = new TargetInfo(config, new File[]{new File(
+ "FoO.BaR")}, null, new File("foo.o"), false);
+ assertEquals(false, targetInfo.getRebuild());
+ targetInfo = new TargetInfo(config, new File[]{new File("FoO.BaR")},
+ null, new File("foo.o"), true);
+ assertEquals(true, targetInfo.getRebuild());
+ }
+ public void testGetSource() {
+ CompilerConfiguration config = new DummyConfiguration();
+ TargetInfo targetInfo = new TargetInfo(config, new File[]{new File(
+ "FoO.BaR")}, null, new File("foo.o"), false);
+ String source = targetInfo.getSources()[0].getName();
+ assertEquals(source, "FoO.BaR");
+ }
+ public void testHasSameSource() {
+ CompilerConfiguration config = new DummyConfiguration();
+ TargetInfo targetInfo = new TargetInfo(config, new File[]{new File(
+ "foo.bar")}, null, new File("foo.o"), false);
+ boolean hasSame = targetInfo.getSources()[0]
+ .equals(new File("foo.bar"));
+ assertTrue(hasSame);
+ hasSame = targetInfo.getSources()[0].equals(new File("boo.far"));
+ assertEquals(hasSame, false);
+ }
+ public void testMustRebuild() {
+ CompilerConfiguration config = new DummyConfiguration();
+ TargetInfo targetInfo = new TargetInfo(config, new File[]{new File(
+ "FoO.BaR")}, null, new File("foo.o"), false);
+ assertEquals(false, targetInfo.getRebuild());
+ targetInfo.mustRebuild();
+ assertEquals(true, targetInfo.getRebuild());
+ }
+}