deno/std/flags/num_test.ts
Kitson Kelly b9037c86ed
Improvements to std/flags. (#4279)
Adds JSDoc to module, improves the typing of the return type, uses
iteration instead of Array forEach, uses the dotall support in Regular
Expression which is now supported in JavaScript, uses destructuring and
nullish coalescing where appropriate.
2020-03-08 11:27:23 +01:00

41 lines
947 B
TypeScript
Executable file

// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
import { assertEquals } from "../testing/asserts.ts";
import { parse } from "./mod.ts";
Deno.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");
});
Deno.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");
});