diff options
author | 迷渡 <justjavac@gmail.com> | 2019-10-16 23:34:36 +0800 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2019-10-16 11:34:36 -0400 |
commit | 5983507255c8f725ee36ff53f6f8ecb2cb41e607 (patch) | |
tree | 9c3f8bc6a359627a077f0545b0c1baa19e48db8d /std/flags/bool_test.ts | |
parent | b1685ce0101f9ca16b0eeb6db7ff16ac81301545 (diff) |
std/flags: Add test for multiple boolean flags (#3103)
Diffstat (limited to 'std/flags/bool_test.ts')
-rwxr-xr-x | std/flags/bool_test.ts | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/std/flags/bool_test.ts b/std/flags/bool_test.ts index 422ae0933..5ef052e2c 100755 --- a/std/flags/bool_test.ts +++ b/std/flags/bool_test.ts @@ -166,3 +166,39 @@ test(function booleanParsingTrueLike(): void { const parsed3 = parse(["-t", "false123"], { boolean: ["t"] }); assertEquals(parsed3.t, true); }); + +test(function booleanNegationAfterBoolean(): void { + const parsed = parse(["--foo", "--no-foo"], { boolean: ["foo"] }); + assertEquals(parsed.foo, false); + + const parsed2 = parse(["--foo", "--no-foo", "123"], { boolean: ["foo"] }); + assertEquals(parsed2.foo, false); +}); + +test(function booleanAfterBooleanNegation(): void { + const parsed = parse(["--no--foo", "--foo"], { boolean: ["foo"] }); + assertEquals(parsed.foo, true); + + const parsed2 = parse(["--no--foo", "--foo", "123"], { boolean: ["foo"] }); + assertEquals(parsed2.foo, true); +}); + +test(function latestFlagIsBooleanNegation(): void { + const parsed = parse(["--no-foo", "--foo", "--no-foo"], { boolean: ["foo"] }); + assertEquals(parsed.foo, false); + + const parsed2 = parse(["--no-foo", "--foo", "--no-foo", "123"], { + boolean: ["foo"] + }); + assertEquals(parsed2.foo, false); +}); + +test(function latestFlagIsBoolean(): void { + const parsed = parse(["--foo", "--no-foo", "--foo"], { boolean: ["foo"] }); + assertEquals(parsed.foo, true); + + const parsed2 = parse(["--foo", "--no-foo", "--foo", "123"], { + boolean: ["foo"] + }); + assertEquals(parsed2.foo, true); +}); |