/** * @copyright nhcarrigan * @license Naomi's Public License * @author Naomi Carrigan */ import { describe, it, expect } from "vitest"; import { TreeNation } from "../../src/icons/TreeNation"; describe("treenation icon", () => { it("should have a valid width", () => { expect.assertions(1); expect(TreeNation.icon[0], "width is negative").toBeGreaterThan(0); }); it("should have a valid height", () => { expect.assertions(1); expect(TreeNation.icon[1], "height is negative").toBeGreaterThan(0); }); it("should not have any ligatures", () => { expect.assertions(1); expect(TreeNation.icon[2], "ligatures are present").toStrictEqual([]); }); it("should have a valid unicode set", () => { expect.assertions(1); expect(TreeNation.icon[3], "unicode set is wrong").toBe("U+E002"); }); it("should have valid SVG path data", () => { expect.assertions(1); expect(TreeNation.icon[4], "path data is bad").toMatch( // eslint-disable-next-line stylistic/max-len /(?:[lm]\s?-?(?:(?:\d+(?:\.\d+)?)|(?:\.\d+))[\s,]?-?(?:(?:\d+(?:\.\d+)?)|(?:\.\d+)))|(?:[hv]\s?-?(?:(?:\d+(?:\.\d+)?)|(?:\.\d+)))|(?:c\s?-?(?:(?:\d+(?:\.\d+)?)|(?:\.\d+))(?:[\s,]?-?(?:(?:\d+(?:\.\d+)?)|(?:\.\d+))){5})|(?:q\s?-?(?:(?:\d+(?:\.\d+)?)|(?:\.\d+))(?:[\s,]?-?(?:(?:\d+(?:\.\d+)?)|(?:\.\d+))){3}(?:\s?t?\s?-?(?:(?:\d+(?:\.\d+)?)|(?:\.\d+))[\s,]?-?(?:(?:\d+(?:\.\d+)?)|(?:\.\d+)))*)|(?:a\s?-?(?:(?:\d+(?:\.\d+)?)|(?:\.\d+))(?:[\s,]?-?(?:(?:\d+(?:\.\d+)?)|(?:\.\d+))){2}[\s,]?(?:[01][\s,]+){2}(?:[\s,]?-?(?:(?:\d+(?:\.\d+)?)|(?:\.\d+))){2})|(?:s\s?-?(?:(?:\d+(?:\.\d+)?)|(?:\.\d+))(?:[\s,]?-?(?:(?:\d+(?:\.\d+)?)|(?:\.\d+))){3})|z/gi, ); }); });