From d2766bd5fe75d28bc309b6aaab564ef2a7caf1aa Mon Sep 17 00:00:00 2001 From: MacDue Date: Fri, 14 Jul 2023 21:35:26 +0100 Subject: [PATCH] Tests/LibGfx: Test we can decode everything in TinyVG This tests that we can successfully parse the "everything" TVG files, which make use of every feature in TinyVG. Test files taken from https://github.com/TinyVG/examples (MIT). --- Tests/LibGfx/TestImageDecoder.cpp | 17 +++++++++++++++++ Tests/LibGfx/test-inputs/tvg/everything-32.tvg | Bin 0 -> 2637 bytes Tests/LibGfx/test-inputs/tvg/everything.tvg | Bin 0 -> 1447 bytes 3 files changed, 17 insertions(+) create mode 100644 Tests/LibGfx/test-inputs/tvg/everything-32.tvg create mode 100644 Tests/LibGfx/test-inputs/tvg/everything.tvg diff --git a/Tests/LibGfx/TestImageDecoder.cpp b/Tests/LibGfx/TestImageDecoder.cpp index 915ef3bd00..6b9fb5f4da 100644 --- a/Tests/LibGfx/TestImageDecoder.cpp +++ b/Tests/LibGfx/TestImageDecoder.cpp @@ -590,3 +590,20 @@ TEST_CASE(test_tvg) expect_single_frame_of_size(*plugin_decoder, { 1024, 1024 }); } + +TEST_CASE(test_everything_tvg) +{ + Array file_names { + TEST_INPUT("tvg/everything.tvg"sv), + TEST_INPUT("tvg/everything-32.tvg"sv) + }; + + for (auto file_name : file_names) { + auto file = MUST(Core::MappedFile::map(file_name)); + EXPECT(Gfx::TinyVGImageDecoderPlugin::sniff(file->bytes())); + auto plugin_decoder = MUST(Gfx::TinyVGImageDecoderPlugin::create(file->bytes())); + MUST(plugin_decoder->initialize()); + + expect_single_frame_of_size(*plugin_decoder, { 400, 768 }); + } +} diff --git a/Tests/LibGfx/test-inputs/tvg/everything-32.tvg b/Tests/LibGfx/test-inputs/tvg/everything-32.tvg new file mode 100644 index 0000000000000000000000000000000000000000..7ea4bdd9e26f2c0f41dee4a385865d09c448b6bc GIT binary patch literal 2637 zcmXR4V{Dzk$iTqB%)r3*e5L6B{}l}X9sV=?-^JkjKZ#-9|0z!`{xdN#C@?dCaRUzn z!vjVLdjTs012SKM1HtEHVqgwnfT&a8MTmpUS-_9VR}ez*S(q8%+QbYB#LF$A- zp$3W!2PX!G1U?1^1~*8cf@tvx3=9kjoDe|}{lJNVK@_Be31qYb8v_H#ED){W!oVN` z;xHV5#xh8)7|3#FsIwG285kHr`j`^D7#J8qP65XgNSqnugazIZCnWeooB*QPLDqs8 zAlku)fq@mn>IPp11{S!rAT?}U43N+R2S-B?%-#dR$o7K7!S*tQLhL;d0kIcEgY5+| zK=v*O#b)n=Fl2i{YS^5Z4hTWw1eAI}S{dOYARmHq07wPM@5p@Q9N-Dj!OOq^Hbaz%TO%NZswrXJpJ4Om>5Ik#w)rmtzB^Ve$d{EW|SqI9J zAU=o&@j+P<#0SwJJ}7uvSwQB3MfDgM5Lpu>0t$bSI#AYJpbW{HAU-H-g5^~h7}~)4 z8?+!UKx9pjJSb~|)PrmQ=?7&^5FeB^!SXr`42@v@3ydK8Az2e72g;ftwV)agq!*Mm zL3~iw1k0N+Fm!%nKwJ@IR1J zV16LAfL}p|l?ANGL4E;$gF*t!0mTLU49W`34k~OAi3Ifp{0lS^SRQCD;8)OAU{26s zWMNQXZqQ%Af50Gtg~4b6zk{&?bAt&73&br8%op%Kut;E0uv);MV6DKsz=oZHp@4xy zf%$;FU;#q{i%tdGhlFFQ*aS6U|=}FsKETdNvwc@nE_;^f+u4F3sZs@;{sNO1^f!0%ndvX zyc75m{2O=@{Mi#Y6Z{i69eh~fhBWxHfQ@kQVdG)|xtBwMxgiK-#(`jn84W?q4Ll5? z348}48h8#wuqSXHh)CdE5Q;G4K^Vl01)*$COb3J%m>uL3I2pk#P^cdeg2d4QAxIo~ zf@F9dJ* z7ejo~q;sZk9D0T(~mZyV!f=h0W4`kSZU`DWE4MEHbG7O;%at9(5WDZ2IGe{nYV30&a`U6o&q#qDk5X#oXv_Qjw z?SURB(i4;*88bl%66py_kVx+YsS$Xf2aWUuB}k+vC_y4UK?xG+EzAov9HbuTK_Wdt zNkRO9UV=n|Qi8+-y#SfH$6^*}GdIzefH zO*_K^jR#H-^q`TRpajm>3zT7z{y;^*fZ>52IMNSjJ2)-SWpF#74UY5$8VqhA&4_&6 zpbCrh1SN2!H#02IaPWDc2afavB?V8$101r!!l=sDkRbqlpK86x)>H{EC_v|2aEIsrG_AoVF!X4!G<*iF(1%o2wk9iAmV`b Yfe7{m8V4dkIuM3IB0WKAK`0vo0CQ1vcK`qY literal 0 HcmV?d00001