summaryrefslogtreecommitdiff
path: root/std/flags/num_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/flags/num_test.ts')
-rwxr-xr-xstd/flags/num_test.ts41
1 files changed, 41 insertions, 0 deletions
diff --git a/std/flags/num_test.ts b/std/flags/num_test.ts
new file mode 100755
index 000000000..1123f7ecc
--- /dev/null
+++ b/std/flags/num_test.ts
@@ -0,0 +1,41 @@
+// 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 nums(): void {
+ const argv = parse([
+ "-x",
+ "1234",
+ "-y",
+ "5.67",
+ "-z",
+ "1e7",
+ "-w",
+ "10f",
+ "--hex",
+ "0xdeadbeef",
+ "789"
+ ]);
+ assertEquals(argv, {
+ x: 1234,
+ y: 5.67,
+ z: 1e7,
+ w: "10f",
+ hex: 0xdeadbeef,
+ _: [789]
+ });
+ assertEquals(typeof argv.x, "number");
+ assertEquals(typeof argv.y, "number");
+ assertEquals(typeof argv.z, "number");
+ assertEquals(typeof argv.w, "string");
+ assertEquals(typeof argv.hex, "number");
+ assertEquals(typeof argv._[0], "number");
+});
+
+test(function alreadyNumber(): void {
+ const argv = parse(["-x", 1234, 789]);
+ assertEquals(argv, { x: 1234, _: [789] });
+ assertEquals(typeof argv.x, "number");
+ assertEquals(typeof argv._[0], "number");
+});