Latest
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243// Adapted from https://github.com/zeit/ms/blob/master/test.js// Copyright (c) 2016 Zeit, Inc. MIT License// Copyright (c) 2018 Kevin "Kun" Kassimo Qian. MIT Licenseimport { assertEquals } from "https://deno.land/std@v0.50.0/testing/asserts.ts";import { ms } from "./ms.ts";
// ms(string)Deno.test("preserveMs", function () { assertEquals(ms("100"), 100);});
Deno.test("mToMs", function () { assertEquals(ms("1m"), 60000);});
Deno.test("hToMs", function () { assertEquals(ms("1h"), 3600000);});
Deno.test("dToMs", function () { assertEquals(ms("2d"), 172800000);});
Deno.test("wToMs", function () { assertEquals(ms("3w"), 1814400000);});
Deno.test("sToMs", function () { assertEquals(ms("1s"), 1000);});
Deno.test("msToMs", function () { assertEquals(ms("100ms"), 100);});
Deno.test("decimals", function () { assertEquals(ms("1.5h"), 5400000);});
Deno.test("multiSpaces", function () { assertEquals(ms("1 s"), 1000);});
Deno.test("invalidRetNaN", function () { assertEquals(isNaN(ms("☃") as number), true);});
Deno.test("caseInsensitive", function () { assertEquals(ms("1.5H"), 5400000);});
Deno.test("numbersStartWithDot", function () { assertEquals(ms(".5ms"), 0.5);});
Deno.test("negativeInts", function () { assertEquals(ms("-100ms"), -100);});
Deno.test("negativeDecimals", function () { assertEquals(ms("-1.5h"), -5400000); assertEquals(ms("-10.5h"), -37800000);});
Deno.test("negativeDecimalsStartWithDot", function () { assertEquals(ms("-.5h"), -1800000);});
// ms(long string)
Deno.test("millisecondsToMs", function () { assertEquals(ms("53 milliseconds"), 53);});
Deno.test("msecsToMs", function () { assertEquals(ms("17 msecs"), 17);});
Deno.test("secToMs", function () { assertEquals(ms("1 sec"), 1000);});
Deno.test("minToMs", function () { assertEquals(ms("1 min"), 60000);});
Deno.test("hrToMs", function () { assertEquals(ms("1 hr"), 3600000);});
Deno.test("daysToMs", function () { assertEquals(ms("2 days"), 172800000);});
Deno.test("longDecimals", function () { assertEquals(ms("1.5 hours"), 5400000);});
Deno.test("longNegativeIntegers", function () { assertEquals(ms("-100 milliseconds"), -100);});
Deno.test("longNegativeDecimals", function () { assertEquals(ms("-1.5 hours"), -5400000);});
Deno.test("negativeDecimalsStartWithDot", function () { assertEquals(ms("-.5 hr"), -1800000);});
// ms(number, { long: true })Deno.test("longSupportMilliseconds", function () { assertEquals(ms(500, { long: true }), "500 ms"); assertEquals(ms(-500, { long: true }), "-500 ms");});
Deno.test("longSupportSeconds", function () { assertEquals(ms(1000, { long: true }), "1 second"); assertEquals(ms(1200, { long: true }), "1 second"); assertEquals(ms(10000, { long: true }), "10 seconds");
assertEquals(ms(-1000, { long: true }), "-1 second"); assertEquals(ms(-1200, { long: true }), "-1 second"); assertEquals(ms(-10000, { long: true }), "-10 seconds");});
Deno.test("longSupportMinutes", function () { assertEquals(ms(60 * 1000, { long: true }), "1 minute"); assertEquals(ms(60 * 1200, { long: true }), "1 minute"); assertEquals(ms(60 * 10000, { long: true }), "10 minutes");
assertEquals(ms(-1 * 60 * 1000, { long: true }), "-1 minute"); assertEquals(ms(-1 * 60 * 1200, { long: true }), "-1 minute"); assertEquals(ms(-1 * 60 * 10000, { long: true }), "-10 minutes");});
Deno.test("longSupportHours", function () { assertEquals(ms(60 * 60 * 1000, { long: true }), "1 hour"); assertEquals(ms(60 * 60 * 1200, { long: true }), "1 hour"); assertEquals(ms(60 * 60 * 10000, { long: true }), "10 hours");
assertEquals(ms(-1 * 60 * 60 * 1000, { long: true }), "-1 hour"); assertEquals(ms(-1 * 60 * 60 * 1200, { long: true }), "-1 hour"); assertEquals(ms(-1 * 60 * 60 * 10000, { long: true }), "-10 hours");});
Deno.test("longSupportDays", function () { assertEquals(ms(24 * 60 * 60 * 1000, { long: true }), "1 day"); assertEquals(ms(24 * 60 * 60 * 1200, { long: true }), "1 day"); assertEquals(ms(24 * 60 * 60 * 10000, { long: true }), "10 days");
assertEquals(ms(-1 * 24 * 60 * 60 * 1000, { long: true }), "-1 day"); assertEquals(ms(-1 * 24 * 60 * 60 * 1200, { long: true }), "-1 day"); assertEquals(ms(-1 * 24 * 60 * 60 * 10000, { long: true }), "-10 days");});
Deno.test("longShouldRound", function () { assertEquals(ms(234234234, { long: true }), "3 days");
assertEquals(ms(-234234234, { long: true }), "-3 days");});
// ms(number)Deno.test("supportMilliseconds", function () { assertEquals(ms(500), "500ms");
assertEquals(ms(-500), "-500ms");});
Deno.test("supportSeconds", function () { assertEquals(ms(1000), "1s"); assertEquals(ms(10000), "10s");
assertEquals(ms(-1000), "-1s"); assertEquals(ms(-10000), "-10s");});
Deno.test("supportMinutes", function () { assertEquals(ms(60 * 1000), "1m"); assertEquals(ms(60 * 10000), "10m");
assertEquals(ms(-1 * 60 * 1000), "-1m"); assertEquals(ms(-1 * 60 * 10000), "-10m");});
Deno.test("supportHours", function () { assertEquals(ms(60 * 60 * 1000), "1h"); assertEquals(ms(60 * 60 * 10000), "10h");
assertEquals(ms(-1 * 60 * 60 * 1000), "-1h"); assertEquals(ms(-1 * 60 * 60 * 10000), "-10h");});
Deno.test("supportDays", function () { assertEquals(ms(24 * 60 * 60 * 1000), "1d"); assertEquals(ms(24 * 60 * 60 * 10000), "10d");
assertEquals(ms(-1 * 24 * 60 * 60 * 1000), "-1d"); assertEquals(ms(-1 * 24 * 60 * 60 * 10000), "-10d");});
Deno.test("shouldRound", function () { assertEquals(ms(234234234), "3d");
assertEquals(ms(-234234234), "-3d");});
// ms(invalid inputs)Deno.test("invalidInputs", function () { let errCount = 0; try { // @ts-ignore ms(undefined); } catch (e) { errCount++; } try { // @ts-ignore ms(null); } catch (e) { errCount++; } try { // @ts-ignore ms([]); } catch (e) { errCount++; } try { // @ts-ignore ms({}); } catch (e) { errCount++; } try { // @ts-ignore ms(NaN); } catch (e) { errCount++; } assertEquals(errCount, 5);});