UNPKG

matisse

Version:

TypeScript library for mutable colour conversion and manipulation 🎨

72 lines • 3.13 kB
import Colour, { validateContrast, fixContrast } from "../index"; var black; var white; var textColour1; var backgroundColour1; var textColour2; var backgroundColour2; var textColour3; var backgroundColour3; var textColour4; var backgroundColour4; beforeEach(() => { black = new Colour("#000000"); white = new Colour("#FFFFFF"); textColour1 = new Colour("#112A46"); backgroundColour1 = new Colour("#ACC8E5"); textColour2 = new Colour("#C4BBBC"); backgroundColour2 = new Colour("#FFB300"); textColour3 = new Colour("#520404"); backgroundColour3 = new Colour("#D010EE"); textColour4 = new Colour("#F7FF0B"); backgroundColour4 = new Colour("#737980"); }); test('validate black and white', () => { expect(validateContrast(black, white)).toBe(true); expect(validateContrast(black, white, true)).toBe(true); expect(validateContrast(black, white, false, true)).toBe(true); expect(validateContrast(black, white, true, true)).toBe(true); }); test('validate contrast 1', () => { expect(validateContrast(textColour1, backgroundColour1)).toBe(true); expect(validateContrast(textColour1, backgroundColour1, true)).toBe(true); expect(validateContrast(textColour1, backgroundColour1, false, true)).toBe(true); expect(validateContrast(textColour1, backgroundColour1, true, true)).toBe(true); }); test('validate contrast 2', () => { expect(validateContrast(textColour2, backgroundColour2)).toBe(false); expect(validateContrast(textColour2, backgroundColour2, true)).toBe(false); expect(validateContrast(textColour2, backgroundColour2, false, true)).toBe(false); expect(validateContrast(textColour2, backgroundColour2, true, true)).toBe(false); }); test('validate contrast 3', () => { expect(validateContrast(textColour3, backgroundColour3)).toBe(false); expect(validateContrast(textColour3, backgroundColour3, true)).toBe(true); expect(validateContrast(textColour3, backgroundColour3, false, true)).toBe(false); expect(validateContrast(textColour3, backgroundColour3, true, true)).toBe(false); }); test('fix contrast 1', () => { const fixed = fixContrast(textColour1, backgroundColour1); expect(fixed[0].toHEX()).toBe("#112A46"); expect(fixed[1].toHEX()).toBe("#ACC8E5"); expect(validateContrast(fixed[0], fixed[1])).toBe(true); }); test('fix contrast 2', () => { const fixed = fixContrast(textColour2, backgroundColour2); expect(fixed[0].toHEX()).toBe("#656061"); expect(fixed[1].toHEX()).toBe("#FFD87C"); expect(validateContrast(fixed[0], fixed[1])).toBe(true); }); test('fix contrast 3', () => { const fixed = fixContrast(textColour3, backgroundColour3); expect(fixed[0].toHEX()).toBe("#430404"); expect(fixed[1].toHEX()).toBe("#D83CF2"); expect(validateContrast(fixed[0], fixed[1])).toBe(true); }); test('fix contrast 4', () => { const fixed = fixContrast(textColour4, backgroundColour4); expect(fixed[0].toHEX()).toBe("#F7FF23"); expect(fixed[1].toHEX()).toBe("#686D74"); expect(validateContrast(fixed[0], fixed[1])).toBe(true); }); //# sourceMappingURL=inspector.test.js.map