bug 476919 - nsLocalFileOSX::IsSymlink is broken - unit test

This commit is contained in:
Ted Mielczarek 2009-02-05 08:15:32 -05:00
Родитель 0495370b92
Коммит 4403b64000
1 изменённых файлов: 29 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,29 @@
const Cc = Components.classes;
const Ci = Components.interfaces;
function run_test() {
// skip this test on Windows
var isWindows = ("@mozilla.org/windows-registry-key;1" in Components.classes);
if (!isWindows) {
var testDir = __LOCATION__.parent;
// create a test file, then symlink it, then check that we think it's a symlink
var targetFile = testDir.clone();
targetFile.append("target.txt");
if (!targetFile.exists())
targetFile.create(Ci.nsIFile.NORMAL_FILE_TYPE, 0644);
var link = testDir.clone();
link.append("link");
if (link.exists())
link.remove(false);
var ln = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
ln.initWithPath("/bin/ln");
var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
process.init(ln);
var args = ["-s", targetFile.path, link.path];
var result = process.run(true, args, args.length);
do_check_eq(result, 0);
do_check_true(link.isSymlink());
}
}