subdir('inc')
subdir('src')
-if get_option('test') == true
- subdir('test')
-endif
-
summary = '''
Summary:
thorvg version : @0@
Build type : @1@
Prefix : @2@
- Test : @3@
'''.format(
meson.project_version(),
get_option('buildtype'),
get_option('prefix'),
- get_option('test'),
)
message(summary)
value: false,
description: 'Enable building examples')
-option('test',
- type: 'boolean',
- value: false,
- description: 'Enable building unit tests')
-
option('log',
type: 'boolean',
value: false,
+++ /dev/null
-
-override_default = ['werror=false']
-
-gtest_dep = dependency('gtest')
-
-canvas_test_sources = [
- 'testsuite.cpp',
- 'test_canvas.cpp',
- ]
-
-canvas_testsuite = executable('canvasTestSuite',
- canvas_test_sources,
- include_directories : headers,
- override_options : override_default,
- dependencies : [gtest_dep, thorvg_lib_dep],
- )
-
-test('Canvas Testsuite', canvas_testsuite)
-
-paint_test_sources = [
- 'testsuite.cpp',
- 'test_paint.cpp',
- ]
-
-paint_testsuite = executable('paintTestSuite',
- paint_test_sources,
- include_directories : headers,
- override_options : override_default,
- dependencies : [gtest_dep, thorvg_lib_dep],
- )
-
-test('Paint Testsuite', paint_testsuite)
+++ /dev/null
-#include <gtest/gtest.h>
-#include <iostream>
-#include <thread>
-#include <thorvg.h>
-
-class CanvasTest : public ::testing::Test {
-public:
- void SetUp() {
- auto threads = std::thread::hardware_concurrency();
- //Initialize ThorVG Engine
- if (tvg::Initializer::init(tvgEngine, threads) == tvg::Result::Success) {
- swCanvas = tvg::SwCanvas::gen();
- }
- }
- void TearDown() {
-
- //Terminate ThorVG Engine
- tvg::Initializer::term(tvgEngine);
- }
-public:
- std::unique_ptr<tvg::SwCanvas> swCanvas;
- tvg::CanvasEngine tvgEngine = tvg::CanvasEngine::Sw;
-};
-
-TEST_F(CanvasTest, GenerateCanvas) {
- ASSERT_TRUE(swCanvas != nullptr);
-}
-
+++ /dev/null
-#include <gtest/gtest.h>
-#include <iostream>
-#include <thread>
-#include <thorvg.h>
-
-class PaintTest : public ::testing::Test {
-public:
- void SetUp() {
- auto threads = std::thread::hardware_concurrency();
- //Initialize ThorVG Engine
- if (tvg::Initializer::init(tvgEngine, threads) == tvg::Result::Success) {
- swCanvas = tvg::SwCanvas::gen();
-
- scene = tvg::Scene::gen();
-
- shape = tvg::Shape::gen();
- }
- }
- void TearDown() {
-
- //Terminate ThorVG Engine
- tvg::Initializer::term(tvgEngine);
- }
-public:
- std::unique_ptr<tvg::SwCanvas> swCanvas;
- std::unique_ptr<tvg::Scene> scene;
- std::unique_ptr<tvg::Shape> shape;
- tvg::CanvasEngine tvgEngine = tvg::CanvasEngine::Sw;
-};
-
-TEST_F(PaintTest, GenerateShape) {
- ASSERT_TRUE(swCanvas != nullptr);
- ASSERT_TRUE(shape != nullptr);
-}
-
-TEST_F(PaintTest, GenerateScene) {
- ASSERT_TRUE(swCanvas != nullptr);
- ASSERT_TRUE(scene != nullptr);
-}
-
-TEST_F(PaintTest, SceneBounds) {
- ASSERT_TRUE(swCanvas != nullptr);
- ASSERT_TRUE(scene != nullptr);
-
- ASSERT_EQ(shape->appendRect(10.0, 20.0, 100.0, 200.0, 0, 0), tvg::Result::Success);
-
- ASSERT_EQ(scene->push(std::move(shape)), tvg::Result::Success);
-
- float x, y, w, h;
- ASSERT_EQ(scene->bounds(&x, &y, &w, &h), tvg::Result::Success);
- ASSERT_EQ(x, 10.0);
- ASSERT_EQ(y, 20.0);
- ASSERT_EQ(w, 100.0);
- ASSERT_EQ(h, 200.0);
-}
-
+++ /dev/null
-#include <gtest/gtest.h>
-
-int main(int argc, char **argv) {
- testing::InitGoogleTest(&argc, argv);
- return RUN_ALL_TESTS();
-}
-