From 336856dfc274880e6d8dbbab9be2e84cfa5cc70a Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Tue, 23 Nov 2021 14:19:47 +0000 Subject: [PATCH] Tests: add PNG palette decode/encode roundtrip --- test/fixtures/index.js | 1 + test/fixtures/swiss.png | Bin 0 -> 2632 bytes test/unit/png.js | 6 ++++++ 3 files changed, 7 insertions(+) create mode 100644 test/fixtures/swiss.png diff --git a/test/fixtures/index.js b/test/fixtures/index.js index e486934a..32c2e655 100644 --- a/test/fixtures/index.js +++ b/test/fixtures/index.js @@ -93,6 +93,7 @@ module.exports = { inputPngImageInAlpha: getPath('image-in-alpha.png'), // https://github.com/lovell/sharp/issues/1597 inputPngSolidAlpha: getPath('with-alpha.png'), // https://github.com/lovell/sharp/issues/1599 inputPngP3: getPath('p3.png'), // https://github.com/lovell/sharp/issues/2862 + inputPngPalette: getPath('swiss.png'), // https://github.com/randy408/libspng/issues/188 inputWebP: getPath('4.webp'), // http://www.gstatic.com/webp/gallery/4.webp inputWebPWithTransparency: getPath('5_webp_a.webp'), // http://www.gstatic.com/webp/gallery3/5_webp_a.webp diff --git a/test/fixtures/swiss.png b/test/fixtures/swiss.png new file mode 100644 index 0000000000000000000000000000000000000000..cf310ec604a3176a9f2ff949e8701dcf4ced8423 GIT binary patch literal 2632 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 k*>Yq5(f7IknlsK1ey1HwILgYDy+erPa>%)Se{j + sharp(fixtures.inputPngPalette) + .png({ effort: 1, palette: true }) + .toBuffer() + ); + it('Valid PNG libimagequant palette value does not throw error', function () { assert.doesNotThrow(function () { sharp().png({ palette: false });