From 4838fe0cd31ccec920513cfc65b7fed022723c94 Mon Sep 17 00:00:00 2001 From: Yegor Pelykh Date: Fri, 10 May 2024 19:48:29 +0300 Subject: [PATCH] test: Tests for PSD format --- test/_input/psd/psd1.psd | Bin 0 -> 20694 bytes test/_input/psd/psd2.psd | Bin 0 -> 24000 bytes test/_input/psd/psd3.psd | Bin 0 -> 24868 bytes test/_input/psd/psd4.psd | Bin 0 -> 32118 bytes test/_input/psd/psd5.psd | Bin 0 -> 29240 bytes test/_input/psd/psd6.psd | Bin 0 -> 77635 bytes test/_utils/test-section.ts | 1 + test/_utils/test-utils.ts | 2 ++ test/format/format.psd.test.ts | 38 +++++++++++++++++++++++++++++++++ 9 files changed, 41 insertions(+) create mode 100644 test/_input/psd/psd1.psd create mode 100644 test/_input/psd/psd2.psd create mode 100644 test/_input/psd/psd3.psd create mode 100644 test/_input/psd/psd4.psd create mode 100644 test/_input/psd/psd5.psd create mode 100644 test/_input/psd/psd6.psd create mode 100644 test/format/format.psd.test.ts diff --git a/test/_input/psd/psd1.psd b/test/_input/psd/psd1.psd new file mode 100644 index 0000000000000000000000000000000000000000..d23f0c6b8da5e9f0826cd4ba98bd14f99e7e78e5 GIT binary patch literal 20694 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 literal 0 HcmV?d00001 diff --git a/test/_input/psd/psd2.psd b/test/_input/psd/psd2.psd new file mode 100644 index 0000000000000000000000000000000000000000..f67f0f3f4a0e333802b0c2c2ce7ffa360af1e3b0 GIT binary patch literal 24000 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 i`~%K-go0y)<^2|5`3Icwcm_ulOB0OuA8ln literal 0 HcmV?d00001 diff --git a/test/_input/psd/psd3.psd b/test/_input/psd/psd3.psd new file mode 100644 index 0000000000000000000000000000000000000000..75ba9aa3ef23e84b1f198bcf7d3efb6c91bf650b GIT binary patch literal 24868 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 L>2CE?TkAgoo>u;p literal 0 HcmV?d00001 diff --git a/test/_input/psd/psd4.psd b/test/_input/psd/psd4.psd new file mode 100644 index 0000000000000000000000000000000000000000..bab363b1c68e914582e4919df97e6fbab0eea749 GIT binary patch literal 32118 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
1zCTT3Tm9cvcv#m^RZmU1eo%-bjYO51O zTRkX!M6?yrDR(s0los5&a`F6`yi=$0ptbYOtqo{EaA^X#+`n}-U-t(m|LQFZv=C_P z?r5p6E>joWzkB=k-TMXVvg-O45^XvF<3PZ0b6rgZfz*c;HFeDfq>=+scV{~wTvun; z(Ad&$0JzyHU;_>|;W~^?(SU=Jx{{lkQ?CObDcOvk9X_n zKt%*3m<0ewUWoqmIx1v9V&J>6YhXsqn)>ghqAi@XpGmOY?kd#kR6+1d^&5+uUW z^h}+$tD~)@xv`-^U(aelV<}Muqy{lwc6GEiHPk(NR8w7DQ}d{H$Xs4k+XOq#dRwS)Ya`^;m$Yf@N*-3$ zG=fj-?DU{deN9DKX$z#5Rn*jjDxjqnim5IyEkUWJM9mrquxVgk4HYW|S!BgV}T}cBxHL8#5MwmZDt@E!Q0c-1<>v2>H>fg;O)j4 z00sbiPY(knA*2%y(MiC*6K?~lNOBvDP#AOkYRvGuVGv6X7x za<)E_L7P59o_-*Mc72Bb^?{7XV>{-(PGmg(?nuVNde8pxGZ_!7P5&nx%5bbtWpps7 zwmOvISf9!O46V*&IL1Q@@=!*LBa~Vk$(YVO;7q0qx3@g*U>VO#;5?=SXIUJ?uq;km z5XF21^A{AOG&p^+mS%6#0nS}|>A*IsPn@~*^wOSfb>h-PRNZ{sVz8X?yoIow<#CI( z>7Q`k(yQ?vKX5_K|Cc8&j{~UJkqZgIzc_P25Ps^JiyoaMnBi}I;-a&38|%{+EjqKX da5Td)3tIQ$=xn8jPD2MPomeaU<7+GSe*nlC#1#Ml literal 0 HcmV?d00001 diff --git a/test/_input/psd/psd5.psd b/test/_input/psd/psd5.psd new file mode 100644 index 0000000000000000000000000000000000000000..8d98e2181dbd2e46d62c845887e8a6580c3beccd GIT binary patch literal 29240 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 O+JeI4@18b-M({rlOHpb7 literal 0 HcmV?d00001 diff --git a/test/_input/psd/psd6.psd b/test/_input/psd/psd6.psd new file mode 100644 index 0000000000000000000000000000000000000000..8db45d101af60556bb9501969176db2f4203ebd5 GIT binary patch literal 77635 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 literal 0 HcmV?d00001 diff --git a/test/_utils/test-section.ts b/test/_utils/test-section.ts index 2b21cfc..336a0e6 100644 --- a/test/_utils/test-section.ts +++ b/test/_utils/test-section.ts @@ -13,6 +13,7 @@ export enum TestSection { jpeg, png, pnm, + psd, tiff, tga, transform, diff --git a/test/_utils/test-utils.ts b/test/_utils/test-utils.ts index dc3260d..44cd1b3 100644 --- a/test/_utils/test-utils.ts +++ b/test/_utils/test-utils.ts @@ -49,6 +49,8 @@ export abstract class TestUtils { return 'png'; case TestSection.pnm: return 'pnm'; + case TestSection.psd: + return 'psd'; case TestSection.tiff: return 'tiff'; case TestSection.tga: diff --git a/test/format/format.psd.test.ts b/test/format/format.psd.test.ts new file mode 100644 index 0000000..f4c029a --- /dev/null +++ b/test/format/format.psd.test.ts @@ -0,0 +1,38 @@ +/** @format */ + +import { decodePsd, encodePng } from '../../src'; +import { TestFolder } from '../_utils/test-folder'; +import { TestSection } from '../_utils/test-section'; +import { TestUtils } from '../_utils/test-utils'; + +describe('Format: PSD', () => { + const resFiles = TestUtils.listFiles( + TestFolder.input, + TestSection.psd, + '.psd' + ); + + for (const file of resFiles) { + test(file.nameExt, () => { + const input = TestUtils.readFromFilePath(file.path); + const psd = decodePsd({ + data: input, + }); + + expect(psd).toBeDefined(); + if (psd === undefined) { + return; + } + + const png = encodePng({ + image: psd, + }); + TestUtils.writeToFile( + TestFolder.output, + TestSection.psd, + `${file.name}.png`, + png + ); + }); + } +});