blob: 318f93ebecb5313779158e96cf40f3f60a814cad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
let executableFile = Services.dirsvc.get("CurProcD", Ci.nsIFile);
executableFile.append("xpcshell.exe");
function run_test() {
let quote = '"'; // Windows' cmd processor doesn't actually use single quotes.
for (let suffix of ["", " -osint", ` --blah "%PROGRAMFILES%"`]) {
let cmdline = quote + executableFile.path + quote + suffix;
info(`Testing with ${cmdline}`);
let f = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFileWin);
f.initWithCommandLine(cmdline);
Assert.equal(
f.path,
executableFile.path,
"Should be able to recover executable path"
);
}
let f = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFileWin);
f.initWithCommandLine("%ComSpec% -c echo 'hi'");
let cmd = Services.dirsvc.get("SysD", Ci.nsIFile);
cmd.append("cmd.exe");
Assert.equal(f.path, cmd.path, "Should be able to replace env vars.");
}
|