2020-01-02 15:13:47 -05:00
|
|
|
// Copyright 2018-2020 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
|
|
|
|
|
|
|
// flag boolean true (default all --args to boolean)
|
2020-02-11 11:24:27 -05:00
|
|
|
Deno.test(function flagBooleanTrue(): void {
|
2018-12-24 10:28:01 -05:00
|
|
|
const argv = parse(["moo", "--honk", "cow"], {
|
|
|
|
boolean: true
|
|
|
|
});
|
|
|
|
|
2019-03-06 19:42:24 -05:00
|
|
|
assertEquals(argv, {
|
2018-12-24 10:28:01 -05:00
|
|
|
honk: true,
|
|
|
|
_: ["moo", "cow"]
|
|
|
|
});
|
|
|
|
|
2019-03-06 19:42:24 -05:00
|
|
|
assertEquals(typeof argv.honk, "boolean");
|
2018-12-19 13:06:31 -05:00
|
|
|
});
|
|
|
|
|
|
|
|
// flag boolean true only affects double hyphen arguments without equals signs
|
2020-02-11 11:24:27 -05:00
|
|
|
Deno.test(function flagBooleanTrueOnlyAffectsDoubleDash(): void {
|
2019-05-30 08:59:30 -04:00
|
|
|
const argv = parse(["moo", "--honk", "cow", "-p", "55", "--tacos=good"], {
|
2018-12-24 10:28:01 -05:00
|
|
|
boolean: true
|
|
|
|
});
|
|
|
|
|
2019-03-06 19:42:24 -05:00
|
|
|
assertEquals(argv, {
|
2018-12-24 10:28:01 -05:00
|
|
|
honk: true,
|
|
|
|
tacos: "good",
|
|
|
|
p: 55,
|
|
|
|
_: ["moo", "cow"]
|
|
|
|
});
|
|
|
|
|
2019-03-06 19:42:24 -05:00
|
|
|
assertEquals(typeof argv.honk, "boolean");
|
2018-12-19 13:06:31 -05:00
|
|
|
});
|