1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-28 10:09:20 -05:00
denoland-deno/flags/tests/short.ts

47 lines
1.2 KiB
TypeScript
Raw Normal View History

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