D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
etb1lp46s9ed
/
washeet.softurecs.com
/
node_modules
/
@jimp
/
plugin-rotate
/
src
/
Filename :
index.test.ts
back
Copy
import { describe, expect, test } from "vitest"; import { createJimp } from "@jimp/core"; import { makeTestImage } from "@jimp/test-utils"; import { methods } from "./index.js"; const jimp = createJimp({ plugins: [methods] }); describe("Rotate a image with even size", () => { const imgSrc = jimp.fromBitmap( makeTestImage( "▰▴▴▴▪▪▪▰", "▴▴▴▴▪▪▪▪", "▴▴▴▴▪▪▪▪", "▴▴▴▴▪▪▪▪", "▪▪▪▪▴▴▴▴", "▪▪▪▪▴▴▴▴", "▪▪▪▪▴▴▴▴", "▦▪▪▪▴▴▴▦", ), ); const angles = [ 1, 91, 30, 45, 60, 90, -90, 120, 135, 180, 225, 270, 315, 360, ]; angles.forEach((angle) => { test(`${angle} degrees`, () => { expect(imgSrc.clone().rotate(angle)).toMatchSnapshot(); }); }); }); describe("Rotate a image with odd size", () => { const imgSrc = jimp.fromBitmap( makeTestImage( "▴▴▴▦▪▪▪", "▴▴▴▦▪▪▪", "▴▴▴▦▪▪▪", "▦▦▦▦▦▦▦", "▴▴▴▦▴▴▴", "▴▴▴▦▴▴▴", "▴▴▴▦▴▴▴", ), ); const angles = [45, 135, 225, 315]; angles.forEach((angle) => { test(`${angle} degrees`, () => { expect(imgSrc.clone().rotate(angle)).toMatchSnapshot(); }); }); }); describe("Rotate a non-square image", () => { const imgSrc = jimp.fromBitmap( makeTestImage("▴▴▴▴▪▪▪▪", "▴▴▴▴▪▪▪▪", "▦▦▦▦▴▴▴▴", "▦▦▦▦▴▴▴▴"), ); const angles = [1, 10, 30, 45, 90, -90, 135, 180, 225, 315, -180, -270]; angles.forEach((angle) => { test(`${angle} degrees`, () => { expect(imgSrc.clone().rotate(angle)).toMatchSnapshot(); }); }); }); describe("Rotate a non-square image without resizing", () => { const imgSrc = jimp.fromBitmap( makeTestImage("□□□□□□□□", "▹▹▹▹▹▹▹▹", "▿▿▿▿▿▿▿▿", "□□□□□□□□"), ); const angles = [90, 180, 270, 45]; angles.forEach((angle) => { test(`${angle} degrees`, () => { expect( imgSrc.clone().rotate({ deg: angle, mode: false }), ).toMatchSnapshot(); }); }); });