UNPKG

zeplin-extension-style-kit

Version:

Models and utilities to generate CSS-like style code in Zeplin extensions.

79 lines (63 loc) 2.15 kB
import { Filter } from "@root/declarations/filter"; import { Length } from "@root/values/length"; import { Percent } from "@root/values/percent"; test("property name", () => { const filter = new Filter([ { fn: "blur", args: [new Length(13)] } ]); expect(filter.name).toBe("filter"); }); test("single filter", () => { const filter = new Filter([ { fn: "blur", args: [new Length(13)] } ]); expect(filter.getValue({ densityDivisor: 1 })).toBe("blur(13px)"); }); test("multiple filters", () => { const filter = new Filter([ { fn: "blur", args: [new Length(13)] }, { fn: "saturate", args: [new Percent(1.3)] } ]); expect(filter.getValue({ densityDivisor: 1 })).toBe("blur(13px) saturate(130%)"); }); test("equality check", () => { const filter = new Filter([ { fn: "blur", args: [new Length(13)] } ]); const other = new Filter([ { fn: "blur", args: [new Length(13)] } ]); expect(filter.equals(other)).toBe(true); }); test("equality check (multiple filters in same order)", () => { const filter = new Filter([ { fn: "blur", args: [new Length(13)] }, { fn: "saturate", args: [new Percent(1.3)] } ]); const other = new Filter([ { fn: "blur", args: [new Length(13)] }, { fn: "saturate", args: [new Percent(1.3)] } ]); expect(filter.equals(other)).toBe(true); }); test("equality check (different filters)", () => { const filter = new Filter([ { fn: "blur", args: [new Length(13)] }, { fn: "saturate", args: [new Percent(1.3)] } ]); const other = new Filter([ { fn: "blur", args: [new Length(13)] } ]); expect(filter.equals(other)).toBe(false); }); test("equality check (same filters in differing order)", () => { const filter = new Filter([ { fn: "blur", args: [new Length(13)] }, { fn: "saturate", args: [new Percent(1.3)] } ]); const other = new Filter([ { fn: "saturate", args: [new Percent(1.3)] }, { fn: "blur", args: [new Length(13)] } ]); expect(filter.equals(other)).toBe(false); });