73 lines
2.6 KiB
JavaScript
73 lines
2.6 KiB
JavaScript
|
|
var fs = require('fs');
|
|
var system = require('system');
|
|
|
|
var TEST_DIR = "testdir",
|
|
TEST_FILE = "testfile",
|
|
START_CWD = fs.workingDirectory;
|
|
|
|
test(function () {
|
|
assert_is_true(fs.makeDirectory(TEST_DIR));
|
|
this.add_cleanup(function () { fs.removeTree(TEST_DIR); });
|
|
|
|
assert_is_true(fs.changeWorkingDirectory(TEST_DIR));
|
|
this.add_cleanup(function () { fs.changeWorkingDirectory(START_CWD); });
|
|
|
|
fs.write(TEST_FILE, TEST_FILE, "w");
|
|
var suffix = fs.join("", TEST_DIR, TEST_FILE),
|
|
abs = fs.absolute(".." + suffix),
|
|
lastIndex = abs.lastIndexOf(suffix);
|
|
|
|
assert_not_equals(lastIndex, -1);
|
|
assert_equals(lastIndex + suffix.length, abs.length);
|
|
|
|
}, "manipulation of current working directory");
|
|
|
|
test(function () {
|
|
|
|
fs.copyTree(phantom.libraryPath, TEST_DIR);
|
|
this.add_cleanup(function () { fs.removeTree(TEST_DIR); });
|
|
|
|
assert_deep_equals(fs.list(phantom.libraryPath), fs.list(TEST_DIR));
|
|
|
|
}, "copying a directory tree");
|
|
|
|
test(function () {
|
|
assert_type_of(fs.readLink, 'function');
|
|
// TODO: test the actual functionality once we can create symlinks.
|
|
}, "fs.readLink exists");
|
|
|
|
generate_tests(function fs_join_test (parts, expected) {
|
|
var actual = fs.join.apply(null, parts);
|
|
assert_equals(actual, expected);
|
|
}, [
|
|
[ "fs.join: []", [], "." ],
|
|
[ "fs.join: nonsense", [[], null], "." ],
|
|
[ "fs.join: 1 element", [""], "." ],
|
|
[ "fs.join: 2 elements", ["", "a"], "/a" ],
|
|
[ "fs.join: 3 elements", ["a", "b", "c"], "a/b/c" ],
|
|
[ "fs.join: 4 elements", ["", "a", "b", "c"], "/a/b/c" ],
|
|
[ "fs.join: empty elements", ["", "a", "", "b", "", "c"], "/a/b/c" ],
|
|
[ "fs.join: empty elements 2", ["a", "", "b", "", "c"], "a/b/c" ]
|
|
]);
|
|
|
|
generate_tests(function fs_split_test (input, expected) {
|
|
var path = input.join(fs.separator);
|
|
var actual = fs.split(path);
|
|
assert_deep_equals(actual, expected);
|
|
}, [
|
|
[ "fs.split: absolute",
|
|
["", "a", "b", "c", "d"], ["", "a", "b", "c", "d"] ],
|
|
[ "fs.split: absolute, trailing",
|
|
["", "a", "b", "c", "d", ""], ["", "a", "b", "c", "d"] ],
|
|
[ "fs.split: non-absolute",
|
|
["a", "b", "c", "d"], ["a", "b", "c", "d"] ],
|
|
[ "fs.split: non-absolute, trailing",
|
|
["a", "b", "c", "d", ""], ["a", "b", "c", "d"] ],
|
|
[ "fs.split: repeated separators",
|
|
["a", "", "", "",
|
|
"b", "",
|
|
"c", "", "",
|
|
"d", "", "", ""], ["a", "b", "c", "d"] ]
|
|
]);
|