2021-01-10 21:59:07 -05:00
|
|
|
// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
|
2019-03-19 13:24:11 -04:00
|
|
|
import { assertEquals } from "../testing/asserts.ts";
|
|
|
|
import { parse } from "./mod.ts";
|
2018-12-19 13:06:31 -05:00
|
|
|
|
2020-04-28 06:33:09 -04:00
|
|
|
Deno.test("numbericShortArgs", function (): void {
|
2019-03-06 19:42:24 -05:00
|
|
|
assertEquals(parse(["-n123"]), { n: 123, _: [] });
|
|
|
|
assertEquals(parse(["-123", "456"]), { 1: true, 2: true, 3: 456, _: [] });
|
2018-12-19 13:06:31 -05:00
|
|
|
});
|
|
|
|
|
2020-04-28 06:33:09 -04:00
|
|
|
Deno.test("short", function (): void {
|
2019-03-06 19:42:24 -05:00
|
|
|
assertEquals(parse(["-b"]), { b: true, _: [] });
|
|
|
|
assertEquals(parse(["foo", "bar", "baz"]), { _: ["foo", "bar", "baz"] });
|
|
|
|
assertEquals(parse(["-cats"]), { c: true, a: true, t: true, s: true, _: [] });
|
|
|
|
assertEquals(parse(["-cats", "meow"]), {
|
2018-12-24 10:28:01 -05:00
|
|
|
c: true,
|
|
|
|
a: true,
|
|
|
|
t: true,
|
|
|
|
s: "meow",
|
2020-03-28 13:03:49 -04:00
|
|
|
_: [],
|
2018-12-24 10:28:01 -05:00
|
|
|
});
|
2019-03-06 19:42:24 -05:00
|
|
|
assertEquals(parse(["-h", "localhost"]), { h: "localhost", _: [] });
|
|
|
|
assertEquals(parse(["-h", "localhost", "-p", "555"]), {
|
2018-12-24 10:28:01 -05:00
|
|
|
h: "localhost",
|
|
|
|
p: 555,
|
2020-03-28 13:03:49 -04:00
|
|
|
_: [],
|
2018-12-24 10:28:01 -05:00
|
|
|
});
|
2018-12-19 13:06:31 -05:00
|
|
|
});
|
2018-12-24 10:28:01 -05:00
|
|
|
|
2020-04-28 06:33:09 -04:00
|
|
|
Deno.test("mixedShortBoolAndCapture", function (): void {
|
2019-03-06 19:42:24 -05:00
|
|
|
assertEquals(parse(["-h", "localhost", "-fp", "555", "script.js"]), {
|
2018-12-24 10:28:01 -05:00
|
|
|
f: true,
|
|
|
|
p: 555,
|
|
|
|
h: "localhost",
|
2020-03-28 13:03:49 -04:00
|
|
|
_: ["script.js"],
|
2018-12-24 10:28:01 -05:00
|
|
|
});
|
2018-12-19 13:06:31 -05:00
|
|
|
});
|
2018-12-24 10:28:01 -05:00
|
|
|
|
2020-04-28 06:33:09 -04:00
|
|
|
Deno.test("shortAndLong", function (): void {
|
2019-03-06 19:42:24 -05:00
|
|
|
assertEquals(parse(["-h", "localhost", "-fp", "555", "script.js"]), {
|
2018-12-24 10:28:01 -05:00
|
|
|
f: true,
|
|
|
|
p: 555,
|
|
|
|
h: "localhost",
|
2020-03-28 13:03:49 -04:00
|
|
|
_: ["script.js"],
|
2018-12-24 10:28:01 -05:00
|
|
|
});
|
2018-12-19 13:06:31 -05:00
|
|
|
});
|