node-libpng
Version:
Unofficial bindings for node to libpng.
40 lines (35 loc) • 1.28 kB
text/typescript
import { colorGrayScaleAlpha, isColorGrayScaleAlpha, convertGrayScaleAlphaToRGBA } from "../gray-scale-alpha";
import { colorRGB } from "../rgb";
describe("The utilities for gray scale alpha colors", () => {
it("creates a gray scale alpha color", () => {
const color = colorGrayScaleAlpha(128, 5);
expect(color.gray).toBe(128);
expect(color.a).toBe(5);
expect(color).toEqual([128, 5]);
});
describe("checking if a given input is a gray scale alpha color", () => {
[
undefined,
null,
10,
"string",
false,
true,
[],
{},
[1, 2],
colorRGB(128, 128, 128),
Object.assign([1, 2], { gray: 1 }),
].forEach(input => {
it(`detects "${JSON.stringify(input)}" as false`, () => {
expect(isColorGrayScaleAlpha(input)).toBe(false);
});
});
it("detects a correct input as true", () => {
expect(isColorGrayScaleAlpha(colorGrayScaleAlpha(128, 128))).toBe(true);
});
});
it("convert to RGBA", () => {
expect(convertGrayScaleAlphaToRGBA(colorGrayScaleAlpha(100, 20))).toEqual([100, 100, 100, 20]);
});
});