From 75375c4a289540898e17df7b6a25320fd416b603 Mon Sep 17 00:00:00 2001 From: BluJ Date: Fri, 15 Jul 2022 12:55:52 -0600 Subject: [PATCH] chore: Testing that we have some ranges for the and and or combinators --- emvar-lite/mod.ts | 6 ++++++ emvar-lite/test.ts | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/emvar-lite/mod.ts b/emvar-lite/mod.ts index 01846c4..55cb718 100644 --- a/emvar-lite/mod.ts +++ b/emvar-lite/mod.ts @@ -72,6 +72,9 @@ export function rangeOf(range: string | Checker): Checker { } export function rangeAnd(...ranges: (string | Checker)[]): Checker { + if (ranges.length === 0) { + throw new Error('No ranges given'); + } let [firstCheck, ...rest] = ranges.map(rangeOf); for (const checker of rest) { firstCheck = firstCheck.and(checker); @@ -80,6 +83,9 @@ export function rangeAnd(...ranges: (string | Checker)[]): Checker { } export function rangeOr(...ranges: (string | Checker)[]): Checker { + if (ranges.length === 0) { + throw new Error('No ranges given'); + } let [firstCheck, ...rest] = ranges.map(rangeOf); for (const checker of rest) { firstCheck = firstCheck.or(checker); diff --git a/emvar-lite/test.ts b/emvar-lite/test.ts index 1ad79f9..2e93784 100644 --- a/emvar-lite/test.ts +++ b/emvar-lite/test.ts @@ -157,4 +157,13 @@ const { test } = Deno; expect(checker.check("1.2")).toBe(false); expect(checker.check("1.2.1")).toBe(false); }) +} + +{ + test(`no and ranges`, () => { + expect(() => rangeAnd()).toThrow() + }) + test(`no or ranges`, () => { + expect(() => rangeOr()).toThrow() + }) } \ No newline at end of file