summaryrefslogtreecommitdiffstats
path: root/tests/qdir/qdir.qs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/qdir/qdir.qs')
-rw-r--r--tests/qdir/qdir.qs107
1 files changed, 107 insertions, 0 deletions
diff --git a/tests/qdir/qdir.qs b/tests/qdir/qdir.qs
new file mode 100644
index 0000000..f26de18
--- /dev/null
+++ b/tests/qdir/qdir.qs
@@ -0,0 +1,107 @@
+include("../test.js")
+testBasic()
+testDirOp()
+testFilter()
+testCd()
+testStaticFunctions()
+
+function testBasic() {
+ var usrbin = new QDir("/usr/bin")
+ compare(usrbin.path,"/usr/bin")
+ compare(usrbin.absolutePath,"/usr/bin")
+ compare(usrbin.dirName,"bin")
+
+ var scriptDir = new QDir(utils.currentScripRoot)
+ compare(scriptDir.count, 4)
+ compare(scriptDir.at(0), ".")
+ compare(scriptDir.at(1), "..")
+ compare(scriptDir.at(2), "qdir.qs")
+ compare(scriptDir.at(3), "testcase")
+
+ compare(usrbin.isReadable, true)
+ compare(usrbin.exists(), true)
+
+ var bogus = new QDir("/bogus")
+ compare(bogus.exists(), false)
+
+ var root = new QDir("/")
+ compare(usrbin.isRoot, false)
+ compare(root.isRoot, true)
+
+ var relative = new QDir("foo")
+ compare(relative.isRelative, true)
+ compare(usrbin.isRelative, false)
+}
+
+function testDirOp() {
+ var scriptDir = new QDir(utils.currentScripRoot)
+
+ compare(scriptDir.exists("NEWDIR"),false)
+ var ok = scriptDir.mkdir("NEWDIR")
+ assert(ok)
+
+ compare(scriptDir.exists("NEWDIR"),true)
+
+ ok = scriptDir.rename("NEWDIR", "NEWDIR2")
+ assert(ok)
+
+ compare(scriptDir.exists("NEWDIR"),false)
+ compare(scriptDir.exists("NEWDIR2"),true)
+
+ ok = scriptDir.rmdir("NEWDIR2")
+ assert(ok)
+
+ compare(scriptDir.exists("NEWDIR2"),false)
+}
+
+function testFilter() {
+ var testcase = new QDir(utils.currentScripRoot + "/testcase" )
+ var files = testcase.entryList()
+ compare(files.length, 5)
+
+ var files = testcase.entryList([], Filter.Files, SortFlag.Name )
+ compareArrays(files,["a","b","c"])
+
+ files = testcase.entryList([], Filter.Dirs, SortFlag.Name )
+ compareArrays(files,[".","..","x","y"])
+
+ files = testcase.entryList([], Filter.Dirs | Filter.NoDotAndDotDot, SortFlag.Name )
+ compareArrays(files,["x","y"])
+
+ files = testcase.entryList([], Filter.Files | Filter.NoDotAndDotDot, SortFlag.Size)
+ compareArrays(files, ["c","b","a"])
+
+ files = testcase.entryList([], Filter.Files | Filter.NoDotAndDotDot, SortFlag.Size | SortFlag.Reversed)
+ compareArrays(files, ["a","b","c"])
+
+ testcase = new QDir(utils.currentScripRoot + "/testcase/x" )
+ files = testcase.entryList(["*.txt"], Filter.NoFilter, SortFlag.Name )
+ compareArrays(files,["abc.txt","def.txt"])
+
+ files = testcase.entryList(["*.txt", "*.data"], Filter.NoFilter, SortFlag.Name )
+ compareArrays(files,["abc.txt","def.txt","hij.data","klm.data"])
+}
+
+
+function testCd() {
+ var dir = new QDir(utils.currentScripRoot )
+ var filesHere = dir.entryList()
+
+ dir = dir.cd("testcase")
+ var files = dir.entryList([], Filter.Files, SortFlag.Name )
+ compareArrays(files,["a","b","c"])
+
+ dir = dir.cdUp()
+ compareArrays(filesHere, dir.entryList())
+}
+
+function testStaticFunctions() {
+ var str = QDir().toNativeSeparators("/usr/bin");
+ compare(str, "/usr/bin")
+
+ QDir().setCurrent(utils.currentScripRoot)
+ compare(QDir().currentPath(), utils.currentScripRoot);
+ assert(QDir().current().exists("qdir.qs"));
+
+ compare(QDir().cleanPath("//usr/./../tmp/./bah"),"/tmp/bah")
+}