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
|
|
|
|
|
|
|
// flag boolean true (default all --args to boolean)
|
|
|
|
test(function flagBooleanTrue() {
|
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
|
|
|
|
test(function flagBooleanTrueOnlyAffectsDoubleDash() {
|
2018-12-24 10:28:01 -05:00
|
|
|
var argv = parse(["moo", "--honk", "cow", "-p", "55", "--tacos=good"], {
|
|
|
|
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
|
|
|
});
|