fune/xpcom/tests/unit/test_windows_cmdline_file.js
Victor Porof 1fcaa7d445 Bug 1561435 - Format xpcom/, a=automatic-formatting
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D35945

--HG--
extra : source : c64ace0e98b196a9a392d54800159e327921bf99
2019-07-05 11:19:37 +02:00

24 lines
977 B
JavaScript

const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
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.");
}