summaryrefslogtreecommitdiffstats
path: root/xpcom/tests/unit/test_bug476919.js
blob: 5ba64758c7cadfd9fbc4d96ae318ba451ed21050 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* global __LOCATION__ */

function run_test() {
  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, 0o644);
  }

  var link = testDir.clone();
  link.append("link");
  if (link.exists()) {
    link.remove(false);
  }

  var ln = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
  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];
  process.run(true, args, args.length);
  Assert.ok(link.isSymlink());
}