Commit graph

336 commits

Author SHA1 Message Date
JunsuChoi
f4895459fa test Scene: Separate tests into SECTION()
Split some tests into SECTIONs based on their type.
This improves the readability of TC.

And developer can run test in SECTION unit.
ex)
./build/test/tvgUnitTests "Pushing Paints Into Scene" -c "Pushing Null Pointer"
2021-06-21 19:46:19 +09:00
JunsuChoi
b2020a9387 test Scene: Add tvg::Scene unit tests
- Creation
- Push
- Reserve
- Clear
2021-06-18 15:45:36 +09:00
JunsuChoi
d92a2c25f6 infra CI: Upload unit test result to artifact
Users can download the unit test result list from PR-> Checks -> Build Test -> Artifacts.
2021-06-17 21:50:13 +09:00
Hermet Park
20c68e3b37 test capi: code refactoring.
keep the coding consistency, no logical changes.

Also, renamed tests to avoid conflicts duplicated names.
2021-06-17 14:57:06 +09:00
Michal Szczecinski
bde0d8e751 utc capi: Added linear gradient tests. 2021-06-17 14:47:35 +09:00
Hermet Park
25b31d9154 test capi: code refactoring.
keep the coding consistency, no logical changes.
2021-06-17 14:38:27 +09:00
Michal Szczecinski
2b78d58c23 utc capi: Added radial gradient tests. 2021-06-17 14:07:11 +09:00
Michal Maciola
858de0febb utc capi: added capiSwCanvas test cases 2021-06-16 20:48:15 +09:00
Hermet Park
c19aa9fed7 tset capi: code refactoring.
revise coding style.
2021-06-16 12:53:26 +09:00
Hermet Park
fe493a93f2 test capi: fix build infrastructure 2021-06-16 12:22:08 +09:00
mmaciola
3f1b08f050
utc capi: Added capi initializer, canvas, paint and shape utc 2021-06-16 12:16:59 +09:00
Hermet Park
90dd1b5f98 tests capi: revise the show-case & infrastructure. 2021-06-12 02:11:01 +09:00
Michal Szczecinski
5b99bc186d utc capi: Added shape fill utc. 2021-06-11 23:42:03 +09:00
Hermet Park
52d95dcb59
tests: add SwCanvasBase unit tests 2021-06-11 15:14:35 +09:00
Hermet Park
2d2c88b153 test SwCanvas: ++ case cover.
All prerequiste condition must be passed successfully.
Each test case should verify them before actual unit-test.
2021-06-09 18:11:51 +09:00
Hermet Park
9b204fb983 test SwCanvas: -- out of spec, don't guratee the result. 2021-06-08 17:30:00 +09:00
Hermet Park
83d860b150 test SwCanvas: ++case cover 2021-06-08 17:26:36 +09:00
Hermet Park
5c26014e2f tests: add SwCanvas unit tests 2021-06-08 17:20:23 +09:00
Hermet Park
f0598a7481 Revert "tests: add SwCanvas base part unit tests"
This reverts commit ce6348a504.

This isn't intended pushing...
2021-06-07 20:09:02 +09:00
Hermet Park
ce6348a504 tests: add SwCanvas base part unit tests 2021-06-07 19:57:52 +09:00
Hermet Park
314b96651b doc: correct the beginning year 2021-06-07 17:39:45 +09:00
Hermet Park
6b7aa8ad9e
tests: introduce catch2 unit tests infrastructure.
Catch2 is a multi-paradigm test framework for C++.
It is primarily distributed as a single header file,
very easy and simple to adopt this to thorvg project.

This patch introduces catch2 infrastsructure and one prototype as a sample.

You can refer "testInitializer.cpp", how to add unit test!
while ignoring else files such as "catch2.hpp", "testMain.cpp"

Also, enable Unit-tests with meson option when you change any thorvg code.

$meson build -Dtests=true.

launch tvgUnitTest in the build result then verify 100% coverage
before submitting any patches.
2021-06-04 16:46:34 +09:00
Hermet Park
bbfbe95ecc test: remove gtest & its infra.
thorvg is going to use catch2 framework, this is a cleanup work
before introducing catch2 utc.

See Catch2:
https://github.com/catchorg/Catch2/tree/v2.x
2021-06-03 17:38:07 +09:00
JunsuChoi
e5f59b53a4 infra CI: Introduce new build test with github action
This is a build checker using the github action.
When a pull request occurs this action does a basic build,
example build, build with test.
2021-02-19 12:59:35 +09:00
JunsuChoi
1bdf1c72a4 common Test: Add Paint.bounds unit test 2020-11-30 15:36:36 +09:00
JunsuChoi
9859a48714 test Canvas: Set up unit test based on gtest.
In test directory, set up unit_test based on gtest
First, add a test for SwCanvas generate.
2020-11-02 14:15:50 +09:00
Shinwoo Kim
1e030004ed wasm test: update sample index.html
Update index.html according to updated wasm interface.
Missed chance to update index.html during review.
2020-10-15 15:09:10 +09:00
Shinwoo Kim
0c68c45ef7 thorvg viewer: introduce thorvg viewer
Support Emscripten wasm build for thorvg viewer
2020-10-13 19:04:46 +09:00
Hermet Park
729fee5a23 examples: move tests to src/examples
tests is now officially placed in src/examples,
default is turned off, only necessaries turn it on.

ex) meson . build -Dexamples=true

+ this examples are required efl 'elementary' package.
2020-09-19 00:39:25 +09:00
Michal Szczecinski
538db6e881 shape: added duplicate api.
Changes:
1. New shape->duplicate(Shape) api.
2. New example: testDuplicate
3. Added capi binding for duploicate api
4. Added capi duplication test in testCapi.c

Description:

Added implementation of duplicate api. For now it supports stroke
properties and shape properties (fill color, path) duplication.

TODO:
Implement gradient properties duplication
2020-09-17 11:01:52 +09:00
Hermet Park
be93b17563 test: fix typo
dash size must be 2, not 4.
2020-09-16 21:02:06 +09:00
Hermet Park
7a27ca3613 capi: correct interfaces.
put missing const parameter and correct set/get naming.

attention, these two apis are changed!

tvg_gradient_color_stops() => tvg_gradient_set_color_stops()
tvg_gradient_spread() = tvg_gradient_set_spread()
2020-09-16 17:56:47 +09:00
Piotr Kalota
7d08f202a8 bindings/capi: Added path getters + test in testCapi.c 2020-09-16 16:55:00 +09:00
Hermet Park
4c0bce3fdc sw_engine: fix shape rendering skip issue.
tvg canvas must draw retained shapes for every draw call
even though user missed call update() for shapes.

that case canvs must draw shapes without update,
it means drawing them within previous condition.
2020-09-09 11:02:56 +09:00
Hermet Park
56ff30adff test: +++ missing test file. 2020-09-05 19:05:17 +09:00
Hermet Park
8685c7e0f0 common: fix context corruption among the multiple canvases.
previous implementation didn't consider multiple canvases,
multiple canvas shared one renderer engine that brought corrupted contexts.
Thus, each canvas instances should have designated renderer engine instances.

Now fixed.
2020-09-05 18:55:51 +09:00
Hermet Park
6bd56e26c7 test async: fix wrong time unit. 2020-09-01 20:40:18 +09:00
Mira Grudzinska
42a747fa17 SwRenderer: fixing unnecessary nesting in prepare()
Validating the above by adding shape/canvas update to testCapi.cpp

Change-Id: I7db8d014f4aff7b5b2884c2dca5af119329e9d43
2020-08-25 16:50:14 +09:00
Hermet Park
2ef3d05db9 svg_loader: applied asynchronous threads tasks for optimal performance.
Change-Id: I6575a6a6302c0ae52d1256a5f79f4c080002a4aa
2020-08-25 16:08:33 +09:00
Hermet Park
657e6daddb common taskscheduler: revise functionalities.
initialization interfaces has been changed for threads count.

if you want to set concrete threads count by system, please specify thread count with it.

std threads:
tvg::Initializer::init(tvg::CanvasEngine::Sw, std:🧵:hardware_concurrency());

if your system provides designed threads info, you can use it.

efl:
tvg_engine_init(TVG_ENGINE_SW, eina_cpu_count());

I recommend to avoid max threads usage for better performance.

Change-Id: I22cfa315768f73fa941be136956cdbb2cf837c20
2020-08-21 12:26:57 +09:00
Hermet Park
f4d1065d52 sw_engine: convert colorspace ARGB -> RGBA in default.
We can use RGBA colorspace rather ARGB for pixel data.
This would be better for many rendering system,
since it's more widely preferred than ARGB including opengl.

Change-Id: Ibbfe6a511d77bf0ef30ce261995467c11164d306
2020-08-15 18:22:43 +09:00
Hermet Park
7ab71c52d0 picture svg: introduce load() with memory data input source.
picture now affords the memory data as input source so that
user can pass svg data memory directly.

Change-Id: I246c09b682a2d60e53ad556ce0c90337142ee4f1
2020-08-14 19:41:04 +09:00
Mateusz Palkowski
083fa57c3e capi: Added C wrapper for setting spread type
and test

Change-Id: I3b4cd3740a82446fea60ed050814b03f32632f6d
2020-08-06 08:09:40 +00:00
Hermet Park
9f6b5eb59e common: changed premultiplied color policy.
Some user have no idea of premultiplied alpha concept,
We suggest more user-friendly interfaces so that they don't confuse it.

Now, this pre-multipying is acommplished by backend engines.

Change-Id: Ifd84d56361cb56a8b98240bbd16690accf370bad
2020-08-06 13:54:51 +09:00
Hermet Park
cfbd419fbd test arc: revise sample code.
Change-Id: I3629befdf5ce74ae7822929a059b4c95f2a9e88e
2020-08-04 09:57:37 +09:00
Hermet Park
e98988da02 common shape: support pie filling from arc.
last argument pie=true makes arc to pie shape.

Change-Id: I6f22d00fed77bf728a4ff6e5f1ca42f476ac1664
2020-08-03 20:02:31 +09:00
Hermet Park
0be10ce140 Merge "common shape: added arc implementation" into tizen 2020-08-03 09:50:52 +00:00
Michal Szczecinski
214072babe common shape: added arc implementation
Change-Id: Ib483e24d8e358b2860ca8d46e8b88d58d12bdb62
2020-08-03 08:31:54 +02:00
Mateusz Palkowski
7b9c7de1e5 capi: Added C wrappers for gradient func
Change-Id: If41dab9b06f6cec2831ea1361f30b50a193e99c4
2020-07-31 11:34:49 +02:00
Hermet Park
f15aefa5dc test: updated svg sample
also revise size() method of Picture for proper aligning.

Change-Id: I58a0886968f6058e65a062477e2a873224d8ea8f
2020-07-30 21:10:02 +09:00