import { describe, expect, it } from "vitest"; import { parseSliderEditValue } from "./slider-edit-value"; describe("strict slider editing", () => { it.each(["oops40", "40oops", "", "1/2/3", "NaN", "Infinity", "1..2", "1e999"]) ("rejects malformed %s", draft => { expect(parseSliderEditValue(draft, false)).toBeUndefined(); expect(parseSliderEditValue(draft, true)).toBeUndefined(); }); it("supports signed pairs, decimals, exponent and the declared unit", () => { expect(parseSliderEditValue("−10,5 px – 40 px", true, "px")).toEqual([-10.5, 40]); expect(parseSliderEditValue("1e3", false)).toEqual([1000]); expect(parseSliderEditValue("0/40", true)).toEqual([0, 40]); expect(parseSliderEditValue("40%", false, "px")).toBeUndefined(); }); });