@@ -0,0 +1,28 @@
|
||||
import { afterEach, describe, expect, it, vi } from "vitest";
|
||||
import { perspectiveCorrectPixels } from "../../src/scan/render";
|
||||
import { defaultAdjustments } from "../../src/scan/types";
|
||||
|
||||
class TestImageData {
|
||||
data: Uint8ClampedArray;
|
||||
width: number;
|
||||
height: number;
|
||||
constructor(width: number, height: number) {
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
this.data = new Uint8ClampedArray(width * height * 4);
|
||||
}
|
||||
}
|
||||
|
||||
describe("scan render core", () => {
|
||||
afterEach(() => vi.unstubAllGlobals());
|
||||
|
||||
it("maps an identity quad without changing corner colours", () => {
|
||||
vi.stubGlobal("ImageData", TestImageData);
|
||||
const source = new TestImageData(2, 2) as unknown as ImageData;
|
||||
source.data.set([
|
||||
255, 0, 0, 255, 0, 255, 0, 255, 0, 0, 255, 255, 255, 255, 255, 255,
|
||||
]);
|
||||
const result = perspectiveCorrectPixels(source, 2, 2, defaultAdjustments());
|
||||
expect([...result.data]).toEqual([...source.data]);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user