diff options
| author | Andre Weissflog <floooh@gmail.com> | 2022-09-18 17:06:10 +0200 |
|---|---|---|
| committer | Andre Weissflog <floooh@gmail.com> | 2022-09-18 17:06:10 +0200 |
| commit | 37cccdd3396bd81e95d2b49b3b7f9cb285be46d4 (patch) | |
| tree | 1d6b99132b116e3f486f1bb57874669e482d12af /tests | |
| parent | e590edfef2f12fd686b866274fdc73d36ac0260b (diff) | |
sokol_spine.h: basic ik target access
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/functional/sokol_spine_test.c | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/tests/functional/sokol_spine_test.c b/tests/functional/sokol_spine_test.c index efd23be5..a11540b0 100644 --- a/tests/functional/sokol_spine_test.c +++ b/tests/functional/sokol_spine_test.c @@ -957,3 +957,73 @@ UTEST(sokol_spine, get_event_info_destroyed_skeleton) { T(0 == info.name); shutdown(); } + +UTEST(sokol_spine, find_iktarget_index) { + init(); + sspine_skeleton skeleton = create_skeleton(); + int ik0 = sspine_find_iktarget_index(skeleton, "board-ik"); + T(2 == ik0); + int ik1 = sspine_find_iktarget_index(skeleton, "bla"); + T(-1 == ik1); + shutdown(); +} + +UTEST(sokol_spine, find_iktarget_destroyed_skeleton) { + init(); + sspine_skeleton skeleton = create_skeleton(); + sspine_destroy_skeleton(skeleton); + int ik0 = sspine_find_iktarget_index(skeleton, "board-ik"); + T(-1 == ik0); + shutdown(); +} + +UTEST(sokol_spine, target_index_valid) { + init(); + sspine_skeleton skeleton = create_skeleton(); + T(sspine_iktarget_index_valid(skeleton, 0)); + T(sspine_iktarget_index_valid(skeleton, 6)); + T(!sspine_iktarget_index_valid(skeleton, -1)); + T(!sspine_iktarget_index_valid(skeleton, 7)); + sspine_destroy_skeleton(skeleton); + T(!sspine_iktarget_index_valid(skeleton, 0)); + shutdown(); +} + +UTEST(sokol_spine, num_iktargets) { + init(); + sspine_skeleton skeleton = create_skeleton(); + T(7 == sspine_num_iktargets(skeleton)); + sspine_destroy_skeleton(skeleton); + T(0 == sspine_num_iktargets(skeleton)); + shutdown(); +} + +UTEST(sokol_spine, get_iktarget_info) { + init(); + sspine_skeleton skeleton = create_skeleton(); + const sspine_iktarget_info info = sspine_get_iktarget_info(skeleton, 1); + T(1 == info.index); + T(0 == strcmp(info.name, "aim-torso-ik")); + T(2 == info.target_bone_index); + shutdown(); +} + +UTEST(sokol_spine, get_iktarget_info_destroyed_skeleton) { + init(); + sspine_skeleton skeleton = create_skeleton(); + sspine_destroy_skeleton(skeleton); + const sspine_iktarget_info info = sspine_get_iktarget_info(skeleton, 1); + T(0 == info.name); + shutdown(); +} + +UTEST(sokol_spine, get_iktarget_info_out_of_bounds) { + init(); + sspine_skeleton skeleton = create_skeleton(); + sspine_destroy_skeleton(skeleton); + const sspine_iktarget_info info0 = sspine_get_iktarget_info(skeleton, -1); + T(0 == info0.name); + const sspine_iktarget_info info1 = sspine_get_iktarget_info(skeleton, 7); + T(0 == info1.name); + shutdown(); +} |