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";
|
2019-01-12 16:50:04 -05:00
|
|
|
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 16:39:50 -05:00
|
|
|
assertEq(argv, {
|
2018-12-24 10:28:01 -05:00
|
|
|
honk: true,
|
|
|
|
_: ["moo", "cow"]
|
|
|
|
});
|
|
|
|
|
2019-03-06 16:39:50 -05:00
|
|
|
assertEq(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 16:39:50 -05:00
|
|
|
assertEq(argv, {
|
2018-12-24 10:28:01 -05:00
|
|
|
honk: true,
|
|
|
|
tacos: "good",
|
|
|
|
p: 55,
|
|
|
|
_: ["moo", "cow"]
|
|
|
|
});
|
|
|
|
|
2019-03-06 16:39:50 -05:00
|
|
|
assertEq(typeof argv.honk, "boolean");
|
2018-12-19 13:06:31 -05:00
|
|
|
});
|