File: test_windows_cmdline_file.js

package info (click to toggle)
firefox 149.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,767,760 kB
  • sloc: cpp: 7,416,064; javascript: 6,752,859; ansic: 3,774,850; python: 1,250,473; xml: 641,578; asm: 439,191; java: 186,617; sh: 56,634; makefile: 18,856; objc: 13,092; perl: 12,763; pascal: 5,960; yacc: 4,583; cs: 3,846; lex: 1,720; ruby: 1,002; php: 436; lisp: 258; awk: 105; sql: 66; sed: 53; csh: 10; exp: 6
file content (22 lines) | stat: -rw-r--r-- 896 bytes parent folder | download | duplicates (20)
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.");
}