diff --git a/test/capi/capiInitializer.cpp b/test/capi/capiInitializer.cpp index 4c0f0031..13d7cd6f 100644 --- a/test/capi/capiInitializer.cpp +++ b/test/capi/capiInitializer.cpp @@ -23,9 +23,22 @@ #include #include "config.h" #include "../catch.hpp" +#include TEST_CASE("Basic capi initialization", "[capiInitializer]") { REQUIRE(tvg_engine_init(TVG_ENGINE_SW, 0) == TVG_RESULT_SUCCESS); REQUIRE(tvg_engine_term(TVG_ENGINE_SW) == TVG_RESULT_SUCCESS); } + +TEST_CASE("Version", "[tvgInitializer]") +{ + REQUIRE(tvg_engine_version(NULL, NULL, NULL, NULL) == TVG_RESULT_SUCCESS); + uint32_t major, minor, micro; + const char* curVersion; + tvg_engine_version(&major, &minor, µ, &curVersion); + REQUIRE(strcmp(curVersion, THORVG_VERSION_STRING) == 0); + char curVersion2[10]; + snprintf(curVersion2, sizeof(curVersion2), "%d.%d.%d", major, minor, micro); + REQUIRE(strcmp(curVersion2, THORVG_VERSION_STRING) == 0); +} \ No newline at end of file diff --git a/test/testInitializer.cpp b/test/testInitializer.cpp index b6604e7c..22ac4268 100644 --- a/test/testInitializer.cpp +++ b/test/testInitializer.cpp @@ -23,6 +23,7 @@ #include #include "config.h" #include "catch.hpp" +#include using namespace tvg; @@ -44,6 +45,16 @@ TEST_CASE("Multiple initialization", "[tvgInitializer]") REQUIRE(Initializer::term() == Result::Success); } +TEST_CASE("Version", "[tvgInitializer]") +{ + REQUIRE(strcmp(Initializer::version(nullptr, nullptr, nullptr), THORVG_VERSION_STRING) == 0); + uint32_t major, minor, micro; + REQUIRE(strcmp(Initializer::version(&major, &minor, µ), THORVG_VERSION_STRING) == 0); + char curVersion[10]; + snprintf(curVersion, sizeof(curVersion), "%d.%d.%d", major, minor, micro); + REQUIRE(strcmp(curVersion, THORVG_VERSION_STRING) == 0); +} + TEST_CASE("Negative termination", "[tvgInitializer]") { REQUIRE(Initializer::term() == Result::InsufficientCondition);