From ab35ab2171a726b4fa326c5c549cdf0a8618d161 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Fri, 17 Nov 2023 15:54:14 +0900 Subject: [PATCH] test: added gif save test Skipped capi tests this time, since it has no saver api now. --- test/capi/capiSavers.cpp | 10 ++++++++++ test/images/tag.tvg | Bin 3458 -> 3269 bytes test/testSavers.cpp | 42 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+) diff --git a/test/capi/capiSavers.cpp b/test/capi/capiSavers.cpp index 7b16bb8f..325f1218 100644 --- a/test/capi/capiSavers.cpp +++ b/test/capi/capiSavers.cpp @@ -101,4 +101,14 @@ TEST_CASE("Synchronize a Saver", "[capiSaver]") REQUIRE(tvg_saver_del(saver) == TVG_RESULT_SUCCESS); } +#endif + + +#ifdef THORVG_GIF_SAVER_SUPPORT + +TEST_CASE("Save a lottie into gif", "[capiSavers]") +{ + //TODO: GIF Save Test +} + #endif \ No newline at end of file diff --git a/test/images/tag.tvg b/test/images/tag.tvg index 72688e229931fa6177fbdabdecf1bf9d8e0cd484..4e698eef1b828f49eb965cab9540f568cc15712a 100644 GIT binary patch delta 1744 zcmV;>1~2)78^sxr6&WBH005*60013j008~~1O(7ep1>gl06f64E@lM;puz;#lb8ip z0}VS2lkx>de`xsNvVzj=*96enihNcep`}b&OS7;SI&nN{5XWk@5RTV+cL)Md1ps=x zf(_*M0S8F$dRZ%8tZEfj0g=^L!7323f<#wcz^<==h1QO+)vc%ntUy>{28xw}7y^Kf zNrIQ>}G4HB+2GBe|5ru9{K8ME-L0Z~;BPn0d|7Lq?a# zeFCJ-dUD}(s9W40Fv!S2I-%9e0f208+ML?h z#vajuq;z?DGyqbU-wV|k4vH|qYCMi4ynQ}@cdI6_a0?*7 zAp}*>dz^r91c4l2_6iqG+=sw=*HdE!h1EUbiC_*Tcm(&tC%)-_kNe~!zx4rnhvYHm zb(e6?b78Ma=H*5=Mxz~As@q$QJF$cYOb#A6fQDPOP>l-&!5qri!t3=0gg?|ie;^K^ zmH>?B4n%BYfbJ)P{`s%{-p>mvfEtDX5!8Vsa4!UYK`zSg{Q7|ex&rqi;S|n*2q@43 zfv*BDkoO9U1BoESD1Zp~K>~q~0p&s*sz3sW00But1319}g3te8PzD8XOIjs~5GFU~ ztwnm{H-dwX`YJh)COVWY0k*9wf1qs}q>bCKL)^Lp38OFx$phWKjR~PpJ*3b++-lv{ zjSKP136-!U_)QG=qzv1`49%t=VgOT$gs+l}R?yJjpkq1uVF_?8WDX=ucFjx<KE3ZW5+CTu28`Yf+=K1b}_hU~P@Zn{tH1PmmY;LSu)mfXP&fM69= zp$Ja#2iSx`Mn+Up5sp}qfBxJl7RPZJU1IRiQ5^y028duEdr{MvgczBC2&$k8P%R*? zz#tJ48I_S1{ec=%gb-Lr1OiNWgpGJ$(RezC!#am3P+biZV11kD1m`0RZ zd;l&xN7GPJCw#FbeGw*Q5*6gqCmHW8k?I1mfB|p-Fp;VTgiNfCvg91Jr;BEP(}Fj|kYo4T!)V9Kje5;0NS@ z2zme?h~hf4vl{q8F1(Wn+8_Xi6FQ}n7StdOkW)E{fC8Ffe>sD5IO*U8*nkK?fj5bO z2WntBYm+2WfF6dE71$swnjt)iK)5oY9~yx*U32~d;uQfPHraAESIjnv05^40Ki%Lr ziC{j7(>U96Ih*r2qjNf|lL*FhJG&D*i2yvs(?!ekJWo_T*)utp6F%irIEkP>?=wGp mlRy0vLj!a`8Vi&N4pc5MQwLROGdt7Xj0WEz<_znQ4679QHsWjm delta 1920 zcmV-`2Y>j*8G;*-6&cbQ003bP000GR008~~1O(7ep1>gl00hgiE@lM;%zzt2lb8ip z0|zh=lkx>de>i~SFql1+X1^wY&Q|2J0tqc;%37L*z0ir{NrO06tA%j9_Paw6fGPmc z+ZAjew+}dgdfCg`@nTi0unLH*z6w@>h!rHd>OyvX1uV37gspBxEno%03Nuiw6vPk! zbW9Sw?J9LN2OdI$A8cVLcmV~yMQjaBkO2=DmK_L4e?Wk;>MHvJ0KfTN-F|V^U$VyO ztgQn;7f65)w|2n^fpBXLdhm!Li~|A5_}!aG3&R`tc*sQ-LKkwu10oRF$WWHD8~zZC zA@JD8Sk^LqRUE4r)9S?m;jcja3*Z{36$$rsvnI?}q{X?;LXbum z;Lztke+Syj*Wq)a!3=<{-gnH*8r_)#l4cqU*v3F`^W-j&gdlhY$U>&_kt3Ys?q+(^ zpI!tSlrUu{pE}irCN&WX9e`>url=0<$0N2ioDG_HvrzY-T%KJ0($ef48X<2K3Me2-(((Y4jlW zn0Up}GX!d50zFNjHYYOv@rwt96e9;f$uZ^GiGP%(0tqlXLV`322wjvg|) ze?%5Kr*_W+LIY~w0zE=^3DHA_9$2793Q9*$2GEm>r$_zb{(wP72GR+wUJd|cd(-CB z#y0kd4kV?^6Qlu< zyWWvnSeHQIBY>Fu;sbPxt&c5pFGgF~e?dofftXz*Xji-D7-HjbBmwU80lZr^frVQD z0S+Ok!rtQqgd+&VvH_`mUl}gxzVlBX$O|-_GaTwETI9Dg9i?v;Z`kF;{ri2hcdPRd%XeSe-E@5 zhy$o40OPp>5!)Cb{E2}7{O|qZ&kHJm8ioK7)PW>)F9d!;F3vCg`hf(xLiZx!6wZJM zED!^Q?*cQ>_X^7ci9p0CfC%`30)@{3qhs96!wK6%J(AEr+=|`U z%|703Px_4t$1n?Nr40WKI+mj!VgOT$gs+tB4ArnC&@e!jAlE|XK*EIA%;Z2W1lTmA zojxQoVuY#stsjPgK-xgpFr{Py;A;Ya3RbMezN*Xs0PQ5rtSBw50^$$ye+nEz06M_I zDTqM+!sMLn4G81|>j2>PHUa=Zu_Tb-BS4@98m|;x!Uk^fBT_>aOQH!HZwWpE46Gm+ zKLQlqB4Pq$8wjKj7?EhghVrQI@;c{p#?EcZj{EH9`_^v2K!OS2EEHwQ9ozs2RzVet zz!ZOgO&DZkLJW`OWKvLs%B2(W+=bOHcM(k}v{ zBvD}w$bbkyQY3*O13B^|YSJW`pagKzCILYNWD+JD4=7pkCruJ1e|3^4NAe~|@`O@I zBUb1KhotX}&?uKuC3%r5uo9_!k|=W$A|;X{EmGJ3fY<=Q*xadF0AUBRQYPoY2imf8 zHti&Jq8C}R7hf_aQQ<9nvhmoGD@~FCaG)=dss@5GCJVD9-U0{=lP&{uFqd*I+tMk6 z24Ut6001$a@~pIse~>Zb(k_94D(o^R6B97O@<%38DgmG(YrrAM(k#&uo>&nffq*1l z5*U$6Cln+w!2l;2?<{=NEzKY(aT6HQpd=8|IFHf@c=0$pX9$Fo7oih4pOZJ26DL!W zHc5gqc~FHeGc)haX!0#dfMGgoGdOb-J(aUMJLfo0b0AU^e={kAHC=Ofij4@73Jcm2 z6=os+A`>MXb0!qC@lYZ!WwJjB6A1JZFtLCcsDLm5Knf1CBqWq2BlIXqqCp>YDHU`w zQK&M#li)OCGvn|=|1&OM0x(0SFZ*E^^Cy?ljRE%e_oFW*uf2mz#bf-7!TkFpicture(); + REQUIRE(picture); + REQUIRE(picture->load(TEST_DIR"/test.json") == Result::Success); + REQUIRE(picture->size(100, 100) == Result::Success); + + auto saver = Saver::gen(); + REQUIRE(saver); + REQUIRE(saver->save(std::move(animation), TEST_DIR"/test.gif") == Result::Success); + REQUIRE(saver->sync() == Result::Success); + + //with a background + auto animation2 = Animation::gen(); + REQUIRE(animation2); + + auto picture2 = animation2->picture(); + REQUIRE(picture2); + REQUIRE(picture2->load(TEST_DIR"/test.json") == Result::Success); + REQUIRE(picture2->size(100, 100) == Result::Success); + + auto bg = Shape::gen(); + REQUIRE(bg->fill(255, 255, 255) == Result::Success); + REQUIRE(bg->appendRect(0, 0, 100, 100) == Result::Success); + + REQUIRE(saver->background(std::move(bg)) == Result::Success); + REQUIRE(saver->save(std::move(animation2), TEST_DIR"/test.gif") == Result::Success); + REQUIRE(saver->sync() == Result::Success); + + REQUIRE(Initializer::term() == Result::Success); +} + #endif \ No newline at end of file