aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAndre Weissflog <floooh@gmail.com>2022-09-18 17:06:10 +0200
committerAndre Weissflog <floooh@gmail.com>2022-09-18 17:06:10 +0200
commit37cccdd3396bd81e95d2b49b3b7f9cb285be46d4 (patch)
tree1d6b99132b116e3f486f1bb57874669e482d12af /tests
parente590edfef2f12fd686b866274fdc73d36ac0260b (diff)
sokol_spine.h: basic ik target access
Diffstat (limited to 'tests')
-rw-r--r--tests/functional/sokol_spine_test.c70
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();
+}