summaryrefslogtreecommitdiff
path: root/flags/tests/num.ts
diff options
context:
space:
mode:
Diffstat (limited to 'flags/tests/num.ts')
-rwxr-xr-xflags/tests/num.ts34
1 files changed, 34 insertions, 0 deletions
diff --git a/flags/tests/num.ts b/flags/tests/num.ts
new file mode 100755
index 000000000..85efa76a6
--- /dev/null
+++ b/flags/tests/num.ts
@@ -0,0 +1,34 @@
+import { test, assertEqual } from "https://deno.land/x/testing/testing.ts";
+import parseArgs from "../index.ts";
+
+test(function nums() {
+ const argv = parseArgs([
+ '-x', '1234',
+ '-y', '5.67',
+ '-z', '1e7',
+ '-w', '10f',
+ '--hex', '0xdeadbeef',
+ '789'
+ ]);
+ assertEqual(argv, {
+ x : 1234,
+ y : 5.67,
+ z : 1e7,
+ w : '10f',
+ hex : 0xdeadbeef,
+ _ : [ 789 ]
+ });
+ assertEqual(typeof argv.x, 'number');
+ assertEqual(typeof argv.y, 'number');
+ assertEqual(typeof argv.z, 'number');
+ assertEqual(typeof argv.w, 'string');
+ assertEqual(typeof argv.hex, 'number');
+ assertEqual(typeof argv._[0], 'number');
+});
+
+test(function alreadyNumber() {
+ const argv = parseArgs([ '-x', 1234, 789 ]);
+ assertEqual(argv, { x : 1234, _ : [ 789 ] });
+ assertEqual(typeof argv.x, 'number');
+ assertEqual(typeof argv._[0], 'number');
+});