blob: 168399e1511859ec17babf5f384f4363e70aefc9 [file] [log] [blame]
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 guaranty 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 guaranty 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 guaranty 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 guaranty 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 guaranty 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 guaranty 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()
}
}