summaryrefslogtreecommitdiff
path: root/flags/tests/dash.ts
blob: 6ab1a7d75a5b5e02f6f3965459b76abdc69947bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import { test, assertEqual } from "../../testing/mod.ts";
import { parse } from "../mod.ts";

test(function hyphen() {
  assertEqual(parse(["-n", "-"]), { n: "-", _: [] });
  assertEqual(parse(["-"]), { _: ["-"] });
  assertEqual(parse(["-f-"]), { f: "-", _: [] });
  assertEqual(parse(["-b", "-"], { boolean: "b" }), { b: true, _: ["-"] });
  assertEqual(parse(["-s", "-"], { string: "s" }), { s: "-", _: [] });
});

test(function doubleDash() {
  assertEqual(parse(["-a", "--", "b"]), { a: true, _: ["b"] });
  assertEqual(parse(["--a", "--", "b"]), { a: true, _: ["b"] });
  assertEqual(parse(["--a", "--", "b"]), { a: true, _: ["b"] });
});

test(function moveArgsAfterDoubleDashIntoOwnArray() {
  assertEqual(
    parse(["--name", "John", "before", "--", "after"], { "--": true }),
    { name: "John", _: ["before"], "--": ["after"] }
  );
});