Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
quarto-dev
GitHub Repository: quarto-dev/quarto-cli
Path: blob/main/tests/unit/typing/dynamic.test.ts
6451 views
1
/*
2
* dynamic.test.ts
3
*
4
* Copyright (C) 2024 Posit Software, PBC
5
*
6
*/
7
8
import { makeStringEnumTypeEnforcer } from "../../../src/typing/dynamic.ts";
9
import { unitTest } from "../../test.ts";
10
import { assert, assertThrows } from "testing/asserts";
11
12
// deno-lint-ignore require-await
13
unitTest("makeStringEnumTypeEnforcer", async () => {
14
const check = makeStringEnumTypeEnforcer("a", "b", "c");
15
assert(check("a") === "a");
16
assert(check("b") === "b");
17
assert(check("c") === "c");
18
assertThrows(() => check("d"), Error, "Invalid value 'd' (valid values are a, b, c).");
19
});
20