Spaces:
Sleeping
Sleeping
| import { expect, test, describe } from "vitest"; | |
| import { makeTestImage } from "@jimp/test-utils"; | |
| import { HorizontalAlign, VerticalAlign, createJimp } from "@jimp/core"; | |
| import { methods } from "./index.js"; | |
| const jimp = createJimp({ plugins: [methods] }); | |
| describe("All align combinations for contain", () => { | |
| const vertical = jimp.fromBitmap( | |
| makeTestImage( | |
| "▴▴▴▴▸▸▸▸", | |
| "▴▴▴▴▸▸▸▸", | |
| "▴▴▴▴▸▸▸▸", | |
| "▴▴▴▴▸▸▸▸", | |
| "▴▴▴▴▸▸▸▸", | |
| "▴▴▴▴▸▸▸▸", | |
| "▾▾▾▾◆◆◆◆", | |
| "▾▾▾▾◆◆◆◆", | |
| "▾▾▾▾◆◆◆◆", | |
| "▾▾▾▾◆◆◆◆", | |
| "▾▾▾▾◆◆◆◆", | |
| "▾▾▾▾◆◆◆◆", | |
| ), | |
| ); | |
| // stores the Jimp instances of the JGD images above. | |
| const horizontal = jimp.fromBitmap( | |
| makeTestImage( | |
| "▴▴▴▴▴▴▸▸▸▸▸▸", | |
| "▴▴▴▴▴▴▸▸▸▸▸▸", | |
| "▴▴▴▴▴▴▸▸▸▸▸▸", | |
| "▴▴▴▴▴▴▸▸▸▸▸▸", | |
| "▾▾▾▾▾▾◆◆◆◆◆◆", | |
| "▾▾▾▾▾▾◆◆◆◆◆◆", | |
| "▾▾▾▾▾▾◆◆◆◆◆◆", | |
| "▾▾▾▾▾▾◆◆◆◆◆◆", | |
| ), | |
| ); | |
| const tests: Array< | |
| [keyof typeof HorizontalAlign, keyof typeof VerticalAlign] | |
| > = [ | |
| ["LEFT", "TOP"], | |
| ["CENTER", "TOP"], | |
| ["RIGHT", "TOP"], | |
| ["LEFT", "MIDDLE"], | |
| ["CENTER", "MIDDLE"], | |
| ["RIGHT", "MIDDLE"], | |
| ["LEFT", "BOTTOM"], | |
| ["CENTER", "BOTTOM"], | |
| ["RIGHT", "BOTTOM"], | |
| ]; | |
| tests.forEach(([horizontalAlign, verticalAlign]) => { | |
| const align = horizontalAlign + " " + verticalAlign; | |
| const alignValue = | |
| // eslint-disable-next-line @typescript-eslint/no-explicit-any | |
| (HorizontalAlign as any)[horizontalAlign] | | |
| // eslint-disable-next-line @typescript-eslint/no-explicit-any | |
| (VerticalAlign as any)[verticalAlign]; | |
| test("vertical contain aligned to " + align, () => { | |
| expect( | |
| vertical.clone().contain({ w: 6, h: 6, align: alignValue }), | |
| ).toMatchSnapshot(); | |
| }); | |
| test("horizontal contain aligned to " + align, () => { | |
| expect( | |
| horizontal.clone().contain({ w: 6, h: 6, align: alignValue }), | |
| ).toMatchSnapshot(); | |
| }); | |
| }); | |
| }); | |