Spaces:
Configuration error
Configuration error
File size: 1,265 Bytes
3a65265 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
import { describe, expect, it } from "vitest";
import { parseBooleanValue } from "./boolean.js";
describe("parseBooleanValue", () => {
it("handles boolean inputs", () => {
expect(parseBooleanValue(true)).toBe(true);
expect(parseBooleanValue(false)).toBe(false);
});
it("parses default truthy/falsy strings", () => {
expect(parseBooleanValue("true")).toBe(true);
expect(parseBooleanValue("1")).toBe(true);
expect(parseBooleanValue("yes")).toBe(true);
expect(parseBooleanValue("on")).toBe(true);
expect(parseBooleanValue("false")).toBe(false);
expect(parseBooleanValue("0")).toBe(false);
expect(parseBooleanValue("no")).toBe(false);
expect(parseBooleanValue("off")).toBe(false);
});
it("respects custom truthy/falsy lists", () => {
expect(
parseBooleanValue("on", {
truthy: ["true"],
falsy: ["false"],
}),
).toBeUndefined();
expect(
parseBooleanValue("yes", {
truthy: ["yes"],
falsy: ["no"],
}),
).toBe(true);
});
it("returns undefined for unsupported values", () => {
expect(parseBooleanValue("")).toBeUndefined();
expect(parseBooleanValue("maybe")).toBeUndefined();
expect(parseBooleanValue(1)).toBeUndefined();
});
});
|