/* 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/assets/PeopleComparedToPeople2.png" ); expect(buffer.equals(comparison)).toBe(true); const buffer2 = data.getBuffer(true); const comparison2 = fs.readFileSync( "./nodejs-tests/assets/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" ); }); });