2019-02-07 11:45:47 -05:00
|
|
|
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
|
2019-03-19 13:24:11 -04:00
|
|
|
import { test } from "../testing/mod.ts";
|
|
|
|
import { assertEquals } from "../testing/asserts.ts";
|
|
|
|
import { parse } from "./mod.ts";
|
2018-12-19 13:06:31 -05:00
|
|
|
|
2019-04-24 07:41:23 -04:00
|
|
|
test(function hyphen(): void {
|
2019-03-06 19:42:24 -05:00
|
|
|
assertEquals(parse(["-n", "-"]), { n: "-", _: [] });
|
|
|
|
assertEquals(parse(["-"]), { _: ["-"] });
|
|
|
|
assertEquals(parse(["-f-"]), { f: "-", _: [] });
|
|
|
|
assertEquals(parse(["-b", "-"], { boolean: "b" }), { b: true, _: ["-"] });
|
|
|
|
assertEquals(parse(["-s", "-"], { string: "s" }), { s: "-", _: [] });
|
2018-12-19 13:06:31 -05:00
|
|
|
});
|
|
|
|
|
2019-04-24 07:41:23 -04:00
|
|
|
test(function doubleDash(): void {
|
2019-03-06 19:42:24 -05:00
|
|
|
assertEquals(parse(["-a", "--", "b"]), { a: true, _: ["b"] });
|
|
|
|
assertEquals(parse(["--a", "--", "b"]), { a: true, _: ["b"] });
|
|
|
|
assertEquals(parse(["--a", "--", "b"]), { a: true, _: ["b"] });
|
2018-12-19 13:06:31 -05:00
|
|
|
});
|
|
|
|
|
2019-04-24 07:41:23 -04:00
|
|
|
test(function moveArgsAfterDoubleDashIntoOwnArray(): void {
|
2019-03-06 19:42:24 -05:00
|
|
|
assertEquals(
|
|
|
|
parse(["--name", "John", "before", "--", "after"], { "--": true }),
|
|
|
|
{
|
|
|
|
name: "John",
|
|
|
|
_: ["before"],
|
|
|
|
"--": ["after"]
|
|
|
|
}
|
|
|
|
);
|
2018-12-19 13:06:31 -05:00
|
|
|
});
|