From c462cb2a81d7624881dd3c019db8226b74b9bd8f Mon Sep 17 00:00:00 2001 From: Michal Maciola Date: Wed, 14 Jul 2021 09:50:15 +0200 Subject: [PATCH] test: testPicture added .jpg and .png loading tests --- test/testPicture.cpp | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 68 insertions(+), 2 deletions(-) diff --git a/test/testPicture.cpp b/test/testPicture.cpp index 919e72f..c6d6533 100644 --- a/test/testPicture.cpp +++ b/test/testPicture.cpp @@ -95,8 +95,7 @@ TEST_CASE("Load RAW Data", "[tvgPicture]") free(data); } - -TEST_CASE("Load PNG file", "[tvgPicture]") +TEST_CASE("Load PNG file from path", "[tvgPicture]") { auto picture = Picture::gen(); REQUIRE(picture); @@ -108,8 +107,75 @@ TEST_CASE("Load PNG file", "[tvgPicture]") float w, h; REQUIRE(picture->size(&w, &h) == Result::Success); + + REQUIRE(w == 1000); + REQUIRE(h == 1000); +} + +TEST_CASE("Load PNG file from data", "[tvgPicture]") +{ + auto picture = Picture::gen(); + REQUIRE(picture); + + //Open file + ifstream file(EXAMPLE_DIR"/logo.png"); + REQUIRE(file.is_open()); + auto size = sizeof(uint32_t) * (1000*1000); + auto data = (char*)malloc(size); + file.read(data, size); + file.close(); + + REQUIRE(picture->load(data, size, false) == Result::Success); + REQUIRE(picture->load(data, size, true) == Result::Success); + + float w, h; + REQUIRE(picture->size(&w, &h) == Result::Success); + REQUIRE(w == 1000); + REQUIRE(h == 1000); + + free(data); +} + +TEST_CASE("Load JPG file from path", "[tvgPicture]") +{ + auto picture = Picture::gen(); + REQUIRE(picture); + + //Invalid file + REQUIRE(picture->load("invalid.jpg") == Result::InvalidArguments); + + REQUIRE(picture->load(EXAMPLE_DIR"/logo.jpg") == Result::Success); + + float w, h; + REQUIRE(picture->size(&w, &h) == Result::Success); + + REQUIRE(w == 1000); + REQUIRE(h == 1000); } +TEST_CASE("Load JPG file from data", "[tvgPicture]") +{ + auto picture = Picture::gen(); + REQUIRE(picture); + + //Open file + ifstream file(EXAMPLE_DIR"/logo.jpg"); + REQUIRE(file.is_open()); + auto size = sizeof(uint32_t) * (1000*1000); + auto data = (char*)malloc(size); + file.read(data, size); + file.close(); + + REQUIRE(picture->load(data, size, false) == Result::Success); + REQUIRE(picture->load(data, size, true) == Result::Success); + + float w, h; + REQUIRE(picture->size(&w, &h) == Result::Success); + REQUIRE(w == 1000); + REQUIRE(h == 1000); + + free(data); +} TEST_CASE("Picture Size", "[tvgPicture]") { -- 2.7.4