зеркало из https://github.com/mozilla/gecko-dev.git
bug 476919 - nsLocalFileOSX::IsSymlink is broken - unit test
This commit is contained in:
Родитель
0495370b92
Коммит
4403b64000
|
@ -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());
|
||||
}
|
||||
}
|
Загрузка…
Ссылка в новой задаче