2019-01-01 22:46:17 -05:00
|
|
|
import { test, assertEqual } from "../../testing/mod.ts";
|
2018-12-21 13:02:52 -05:00
|
|
|
import { parse } from "../index.ts";
|
2018-12-19 13:06:31 -05:00
|
|
|
|
|
|
|
test(function hyphen() {
|
2018-12-24 10:28:01 -05:00
|
|
|
assertEqual(parse(["-n", "-"]), { n: "-", _: [] });
|
|
|
|
assertEqual(parse(["-"]), { _: ["-"] });
|
|
|
|
assertEqual(parse(["-f-"]), { f: "-", _: [] });
|
|
|
|
assertEqual(parse(["-b", "-"], { boolean: "b" }), { b: true, _: ["-"] });
|
|
|
|
assertEqual(parse(["-s", "-"], { string: "s" }), { s: "-", _: [] });
|
2018-12-19 13:06:31 -05:00
|
|
|
});
|
|
|
|
|
|
|
|
test(function doubleDash() {
|
2018-12-24 10:28:01 -05:00
|
|
|
assertEqual(parse(["-a", "--", "b"]), { a: true, _: ["b"] });
|
|
|
|
assertEqual(parse(["--a", "--", "b"]), { a: true, _: ["b"] });
|
|
|
|
assertEqual(parse(["--a", "--", "b"]), { a: true, _: ["b"] });
|
2018-12-19 13:06:31 -05:00
|
|
|
});
|
|
|
|
|
|
|
|
test(function moveArgsAfterDoubleDashIntoOwnArray() {
|
2018-12-24 10:28:01 -05:00
|
|
|
assertEqual(
|
|
|
|
parse(["--name", "John", "before", "--", "after"], { "--": true }),
|
|
|
|
{ name: "John", _: ["before"], "--": ["after"] }
|
|
|
|
);
|
2018-12-19 13:06:31 -05:00
|
|
|
});
|