tests: add missing capi saver tests & ifdefs

This commit is contained in:
Mira Grudzinska 2024-06-19 13:36:53 +02:00 committed by Hermet Park
parent 03242b5367
commit 410f58fa26
2 changed files with 51 additions and 2 deletions

View file

@ -36,7 +36,7 @@ TEST_CASE("Create and delete a Saver", "[capiSaver]")
#ifdef THORVG_TVG_SAVER_SUPPORT
TEST_CASE("Save a paint into a file", "[capiSaver]")
TEST_CASE("Save a paint into tvg", "[capiSaver]")
{
Tvg_Saver* saver = tvg_saver_new();
REQUIRE(saver);
@ -101,10 +101,55 @@ TEST_CASE("Synchronize a Saver", "[capiSaver]")
REQUIRE(tvg_saver_del(saver) == TVG_RESULT_SUCCESS);
}
TEST_CASE("Save scene into tvg", "[capiSaver]")
{
Tvg_Paint* picture = tvg_picture_new();
REQUIRE(picture);
Tvg_Saver* saver = tvg_saver_new();
REQUIRE(saver);
FILE* file = fopen(TEST_DIR"/rawimage_200x300.raw", "r");
REQUIRE(file);
uint32_t* data = (uint32_t*)malloc(sizeof(uint32_t) * (200*300));
if (data && fread(data, sizeof(uint32_t), 200 * 300, file) > 0) {
REQUIRE(tvg_picture_load_raw(picture, data, 200, 300, true) == TVG_RESULT_SUCCESS);
REQUIRE(tvg_saver_save(saver, picture, TEST_DIR"/test.tvg", true) == TVG_RESULT_SUCCESS);
REQUIRE(tvg_saver_sync(saver) == TVG_RESULT_SUCCESS);
}
REQUIRE(tvg_saver_del(saver) == TVG_RESULT_SUCCESS);
fclose(file);
free(data);
}
#ifdef THORVG_SVG_LOADER_SUPPORT
TEST_CASE("Save svg into tvg", "[capiSaver]")
{
Tvg_Paint* picture = tvg_picture_new();
REQUIRE(picture);
REQUIRE(tvg_picture_load(picture, TEST_DIR"/logo.svg") == TVG_RESULT_SUCCESS);
REQUIRE(tvg_picture_set_size(picture, 222, 333) == TVG_RESULT_SUCCESS);
REQUIRE(tvg_paint_translate(picture, 123.45, 54.321) == TVG_RESULT_SUCCESS);
Tvg_Saver* saver = tvg_saver_new();
REQUIRE(saver);
REQUIRE(tvg_saver_save(saver, picture, TEST_DIR"/test.tvg", true) == TVG_RESULT_SUCCESS);
REQUIRE(tvg_saver_sync(saver) == TVG_RESULT_SUCCESS);
REQUIRE(tvg_saver_del(saver) == TVG_RESULT_SUCCESS);
}
#endif
#endif
#ifdef THORVG_GIF_SAVER_SUPPORT
#if defined(THORVG_GIF_SAVER_SUPPORT) && defined(THORVG_LOTTIE_LOADER_SUPPORT)
TEST_CASE("Save a lottie into gif", "[capiSavers]")
{

View file

@ -47,6 +47,8 @@ TEST_CASE("Save empty shape", "[tvgSavers]")
REQUIRE(saver->save(std::move(shape), TEST_DIR"/test.tvg") == Result::Unknown);
}
#ifdef THORVG_SVG_LOADER_SUPPORT
TEST_CASE("Save svg into tvg", "[tvgSavers]")
{
REQUIRE(Initializer::init(CanvasEngine::Sw, 0) == Result::Success);
@ -64,6 +66,8 @@ TEST_CASE("Save svg into tvg", "[tvgSavers]")
REQUIRE(Initializer::term(CanvasEngine::Sw) == Result::Success);
}
#endif
TEST_CASE("Save scene into tvg", "[tvgSavers]")
{
REQUIRE(Initializer::init(CanvasEngine::Sw, 0) == Result::Success);