{
  "tempDir": true,
  "tests": {
    "empty": {
      "args": ["compile", "-A", "--app-name", "", "--output", "out", "main.ts"],
      "output": "error.out",
      "exitCode": 1
    },
    "dot_dot": {
      "args": [
        "compile",
        "-A",
        "--app-name",
        "..",
        "--output",
        "out",
        "main.ts"
      ],
      "output": "error.out",
      "exitCode": 1
    },
    "separator": {
      "args": [
        "compile",
        "-A",
        "--app-name",
        "foo/bar",
        "--output",
        "out",
        "main.ts"
      ],
      "output": "error.out",
      "exitCode": 1
    },
    "reserved_char": {
      "args": [
        "compile",
        "-A",
        "--app-name",
        "foo:bar",
        "--output",
        "out",
        "main.ts"
      ],
      "output": "error.out",
      "exitCode": 1
    },
    "trailing_dot": {
      "args": [
        "compile",
        "-A",
        "--app-name",
        "foo.",
        "--output",
        "out",
        "main.ts"
      ],
      "output": "error.out",
      "exitCode": 1
    },
    "reserved_name": {
      "args": [
        "compile",
        "-A",
        "--app-name",
        "nul",
        "--output",
        "out",
        "main.ts"
      ],
      "output": "error.out",
      "exitCode": 1
    },
    "leading_space": {
      "args": [
        "compile",
        "-A",
        "--app-name",
        " foo",
        "--output",
        "out",
        "main.ts"
      ],
      "output": "error.out",
      "exitCode": 1
    },
    // The app name defaults to the output file name, so the same validation
    // must apply when `--app-name` is omitted (e.g. cross-compiling with an
    // output name that is invalid on the target OS).
    "default_from_output": {
      "args": ["compile", "-A", "--output", "nul", "main.ts"],
      "output": "error.out",
      "exitCode": 1
    }
  }
}
