import { LABtoRGB } from "../../src/conversions/lab"; describe("LABtoRGB", () => { test.each` name | input | expected ${"Black"} | ${{ l: 0, a: 0, b: 0, alpha: 1 }} | ${[0, 0, 0, 1]} ${"White"} | ${{ l: 100.00000139649632, a: 0.013072617939369202, b: 0.008521930047722392, alpha: 1 }} | ${[255, 255, 255, 1]} ${"Red"} | ${{ l: 54.29054294696968, a: 80.81496038295177, b: 69.89317238162293, alpha: 1 }} | ${[255, 0, 0, 1]} ${"Lime"} | ${{ l: 87.81853633115202, a: -79.2614492214137, b: 80.99877040443192, alpha: 1 }} | ${[0, 255, 0, 1]} ${"Blue"} | ${{ l: 29.56829715344471, a: 68.29433149454636, b: -112.02160321595204, alpha: 1 }} | ${[0, 0, 255, 1]} ${"Yellow"} | ${{ l: 97.60701009682253, a: -15.73744808173827, b: 93.39797483583392, alpha: 1 }} | ${[255, 255, 0, 1]} ${"Cyan"} | ${{ l: 90.66601315791455, a: -50.64580808615321, b: -14.953199632638414, alpha: 1 }} | ${[0, 255, 255, 1]} ${"Magenta"} | ${{ l: 60.16894098715946, a: 93.55063152191018, b: -60.49263514602645, alpha: 1 }} | ${[255, 0, 255, 1]} ${"Silver"} | ${{ l: 77.7043647180372, a: 0.010560011590221574, b: 0.006883983031724661, alpha: 1 }} | ${[192, 192, 192, 1]} ${"Gray"} | ${{ l: 53.5850142898864, a: 0.007841881854819821, b: 0.0051120570431884005, alpha: 1 }} | ${[128, 128, 128, 1]} ${"Maroon"} | ${{ l: 26.165244625216808, a: 48.47853539124316, b: 39.44002385524444, alpha: 1 }} | ${[128, 0, 0, 1]} ${"Olive"} | ${{ l: 52.14952867110431, a: -9.44043565922903, b: 56.02671840824869, alpha: 1 }} | ${[128, 128, 0, 1]} ${"Green"} | ${{ l: 46.27770902748027, a: -47.546629399228294, b: 48.588797656909875, alpha: 1 }} | ${[0, 128, 0, 1]} ${"Purple"} | ${{ l: 29.6915239933531, a: 56.11829269750887, b: -36.28776577925347, alpha: 1 }} | ${[128, 0, 128, 1]} ${"Teal"} | ${{ l: 47.98582724554071, a: -30.380941698025353, b: -8.969987910259603, alpha: 1 }} | ${[0, 128, 128, 1]} ${"Navy"} | ${{ l: 11.33509112426626, a: 40.967775653059476, b: -67.19848936823763, alpha: 1 }} | ${[0, 0, 128, 1]} `("$name", ({ input, expected }) => { expect(Object.values(LABtoRGB(input)).map((val) => Math.abs(Math.round(val)))).toMatchObject(expected); }); });