@@ -56,24 +56,27 @@ package org.apache.tools.ant.taskdefs;
import org.apache.tools.ant.BuildFileTest;
import org.apache.tools.ant.BuildFileTest;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.util.FileUtils;
import java.io.File;
import java.io.File;
import java.io.IOException;
/**
/**
* Tests FileSet using the Copy task.
* Tests FileSet using the Copy task.
*
*
* @author David Rees <dave@ubiqsoft.com>
* @author David Rees <dave@ubiqsoft.com>
*/
*/
public class CopyTest extends BuildFileTest {
public CopyTest(String name) {
public class CopyTest extends BuildFileTest {
public CopyTest(String name) {
super(name);
super(name);
}
}
public void setUp() {
public void setUp() {
configureProject("src/etc/testcases/taskdefs/copy.xml");
configureProject("src/etc/testcases/taskdefs/copy.xml");
}
}
public void test1() {
public void test1() {
executeTarget("test1");
executeTarget("test1");
File f = new File(getProjectDir(), "copytest1.tmp");
File f = new File(getProjectDir(), "copytest1.tmp");
if ( !f.exists()) {
if ( !f.exists()) {
@@ -85,14 +88,14 @@ public class CopyTest extends BuildFileTest {
executeTarget("cleanup");
executeTarget("cleanup");
}
}
public void test2() {
public void test2() {
executeTarget("test2");
executeTarget("test2");
File f = new File(getProjectDir(), "copytest1dir/copy.xml");
File f = new File(getProjectDir(), "copytest1dir/copy.xml");
if ( !f.exists()) {
if ( !f.exists()) {
fail("Copy failed");
fail("Copy failed");
}
}
}
}
public void test3() {
public void test3() {
executeTarget("test3");
executeTarget("test3");
File file3 = new File(getProjectDir(), "copytest3.tmp");
File file3 = new File(getProjectDir(), "copytest3.tmp");
@@ -103,7 +106,7 @@ public class CopyTest extends BuildFileTest {
assertTrue(file3b.exists());
assertTrue(file3b.exists());
File file3c = new File(getProjectDir(), "copytest3c.tmp");
File file3c = new File(getProjectDir(), "copytest3c.tmp");
assertTrue(file3c.exists());
assertTrue(file3c.exists());
//file length checks rely on touch generating a zero byte file
//file length checks rely on touch generating a zero byte file
if(file3.length()==0) {
if(file3.length()==0) {
fail("could not overwrite an existing, older file");
fail("could not overwrite an existing, older file");
@@ -114,19 +117,29 @@ public class CopyTest extends BuildFileTest {
if(file3b.length()==0) {
if(file3b.length()==0) {
fail("unexpectedly overwrote an existing, newer file");
fail("unexpectedly overwrote an existing, newer file");
}
}
//file time checks for java1.2+
//file time checks for java1.2+
if (Project.getJavaVersion() != Project.JAVA_1_1) {
if (Project.getJavaVersion() != Project.JAVA_1_1) {
assertTrue(file3a.lastModified()==file3.lastModified());
assertTrue(file3c.lastModified()<file3a.lastModified());
assertTrue(file3a.lastModified()==file3.lastModified());
assertTrue(file3c.lastModified()<file3a.lastModified());
}
}
}
}
public void testSingleFileFileset() {
public void testSingleFileFileset() {
executeTarget("test_single_file_fileset");
executeTarget("test_single_file_fileset");
File file = new File(getProjectDir(),
File file = new File(getProjectDir(),
"copytest_single_file_fileset.tmp");
"copytest_single_file_fileset.tmp");
assertTrue(file.exists());
assertTrue(file.exists());
}
}
public void testFilterSet() throws IOException {
executeTarget("testFilterSet");
FileUtils fileUtils = FileUtils.newFileUtils();
File tmp = new File(getProjectDir(), "copy.filterset.tmp");
File check = new File(getProjectDir(),
"expected/copy.filterset.filtered");
assertTrue(tmp.exists());
assertTrue(fileUtils.contentEquals(tmp, check));
}
}
}