| package groovy |
| |
| /** |
| * Unit test for File GDK methods |
| * |
| * @author Marc Guillemot |
| * @version $Revision: 4996 $ |
| */ |
| class FileTest extends GroovyTestCase { |
| |
| def baseDir = new File("target/test-resources/filetest") |
| |
| void setUp() |
| { |
| createFolder "emptyFolder" |
| createFile "folder1/Readme" |
| createFile "folder1/build.xml" |
| createFile "folder2/myDoc.doc" |
| createFile "folder2/myDoc.odt" |
| createFile "folder2/subfolder/file1.groovy" |
| createFile "folder2/subfolder/file2.groovy" |
| createFile "folder3/subfolder/file3.groovy" |
| createFile "foo" |
| createFile "foo.txt" |
| } |
| |
| void testEachFile() { |
| def collectedFiles = [] |
| baseDir.eachFile { it -> collectedFiles << it.name } |
| collectedFiles.sort() // needs to sort as there is no guarantee on the order within a folder |
| |
| def expected = ["emptyFolder", "folder1", "folder2", "folder3", "foo", "foo.txt"] |
| |
| assertEquals expected, collectedFiles |
| } |
| |
| void testEachDir() { |
| def collectedFiles = [] |
| baseDir.eachDir { it -> collectedFiles << it.name } |
| collectedFiles.sort() // needs to sort as there is no guarantee on the order within a folder |
| |
| def expected = ["emptyFolder", "folder1", "folder2", "folder3"] |
| |
| assertEquals expected, collectedFiles |
| } |
| |
| void testEachFileMatch() { |
| def collectedFiles = [] |
| baseDir.eachFileMatch ~/fo.*/, { it -> collectedFiles << it.name } |
| collectedFiles.sort() // needs to sort as there is no guarantee on the order within a folder |
| |
| def expected = ["folder1", "folder2", "folder3", "foo", "foo.txt"] |
| |
| assertEquals expected, collectedFiles |
| } |
| |
| void testEachDirMatch() { |
| def collectedFiles = [] |
| baseDir.eachDirMatch ~/fo.*/, { it -> collectedFiles << it.name } |
| collectedFiles.sort() // needs to sort as there is no guarantee on the order within a folder |
| |
| def expected = ["folder1", "folder2", "folder3"] |
| |
| assertEquals expected, collectedFiles |
| } |
| |
| void testEachFileRecurse() { |
| def collectedFiles = [] |
| baseDir.eachFileRecurse { it -> collectedFiles << it.name } |
| collectedFiles.sort() // needs to sort as there is no guarantee on the order within a folder |
| |
| def expected = ["Readme", "build.xml", "emptyFolder", |
| "file1.groovy", "file2.groovy", "file3.groovy", "folder1", "folder2", "folder3", |
| "foo", "foo.txt", |
| "myDoc.doc", "myDoc.odt", |
| "subfolder", "subfolder"] |
| |
| assertEquals expected, collectedFiles |
| } |
| |
| void testEachDirRecurse() { |
| def collectedFiles = [] |
| baseDir.eachDirRecurse { it -> collectedFiles << it.name } |
| collectedFiles.sort() // needs to sort as there is no guarantee on the order within a folder |
| |
| def expected = ["emptyFolder", "folder1", "folder2", "folder3", "subfolder", "subfolder",] |
| |
| assertEquals expected, collectedFiles |
| } |
| |
| def createFile(path) |
| { |
| def f = new File(baseDir, path) |
| f.parentFile.mkdirs() |
| f.createNewFile() |
| } |
| |
| def createFolder(path) |
| { |
| def f = new File(baseDir, path) |
| f.mkdirs() |
| } |
| } |