You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.3 KiB
43 lines
1.3 KiB
/* eslint-env jest*/ |
|
|
|
const compareImages = require("../compareImages"); |
|
const fs = require("fs"); |
|
|
|
describe("compareImages", () => { |
|
test("works with buffers", async () => { |
|
const data = await compareImages( |
|
fs.readFileSync("./demoassets/People.jpg"), |
|
fs.readFileSync("./demoassets/People2.jpg") |
|
); |
|
|
|
expect(data.isSameDimensions).toBe(true); |
|
expect(data.misMatchPercentage).toEqual("8.66"); |
|
|
|
const buffer = data.getBuffer(); |
|
|
|
expect(buffer).toBeInstanceOf(Buffer); |
|
expect(buffer.length).toBe(91876); |
|
|
|
const comparison = fs.readFileSync( |
|
"./nodejs-tests/PeopleComparedToPeople2.png" |
|
); |
|
|
|
expect(buffer.equals(comparison)).toBe(true); |
|
|
|
const buffer2 = data.getBuffer(true); |
|
const comparison2 = fs.readFileSync( |
|
"./nodejs-tests/PeopleComparedToPeople2WithOriginal.png" |
|
); |
|
expect(buffer2.equals(comparison2)).toBe(true); |
|
}); |
|
|
|
test("throws when failed", async () => { |
|
const promise = compareImages( |
|
fs.readFileSync("./demoassets/People.jpg"), |
|
"bogus data" |
|
); |
|
await expect(promise).rejects.toMatch( |
|
"Error: error while reading from input stream" |
|
); |
|
}); |
|
});
|
|
|