diff options
Diffstat (limited to 'flags/dash_test.ts')
| -rwxr-xr-x | flags/dash_test.ts | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/flags/dash_test.ts b/flags/dash_test.ts new file mode 100755 index 000000000..7d52e4905 --- /dev/null +++ b/flags/dash_test.ts @@ -0,0 +1,29 @@ +// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. +import { test } from "../testing/mod.ts"; +import { assertEquals } from "../testing/asserts.ts"; +import { parse } from "./mod.ts"; + +test(function hyphen() { + assertEquals(parse(["-n", "-"]), { n: "-", _: [] }); + assertEquals(parse(["-"]), { _: ["-"] }); + assertEquals(parse(["-f-"]), { f: "-", _: [] }); + assertEquals(parse(["-b", "-"], { boolean: "b" }), { b: true, _: ["-"] }); + assertEquals(parse(["-s", "-"], { string: "s" }), { s: "-", _: [] }); +}); + +test(function doubleDash() { + assertEquals(parse(["-a", "--", "b"]), { a: true, _: ["b"] }); + assertEquals(parse(["--a", "--", "b"]), { a: true, _: ["b"] }); + assertEquals(parse(["--a", "--", "b"]), { a: true, _: ["b"] }); +}); + +test(function moveArgsAfterDoubleDashIntoOwnArray() { + assertEquals( + parse(["--name", "John", "before", "--", "after"], { "--": true }), + { + name: "John", + _: ["before"], + "--": ["after"] + } + ); +}); |
