summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-06-17 11:12:54 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-06-17 11:12:54 -0400
commit48f56a7e5db638fb3526277513b8f14cbe405398 (patch)
tree36d3b013d704a35d0a0a9315df887f4857ed224e /tests
parent66ebed74456f76277597b3b07f3e67cc45388ece (diff)
pke: expose colors for FontRender and pke_ui_box
Diffstat (limited to 'tests')
-rw-r--r--tests/pke-test-serialization.cpp62
1 files changed, 43 insertions, 19 deletions
diff --git a/tests/pke-test-serialization.cpp b/tests/pke-test-serialization.cpp
index c24faca..7a9ec41 100644
--- a/tests/pke-test-serialization.cpp
+++ b/tests/pke-test-serialization.cpp
@@ -400,6 +400,8 @@ CharSpacingScale:1.000000
SurfaceAreaSize:250;250
SurfaceAreaPos:0;0
SurfaceAreaFlags:0x03
+ColorForeground:0.400000;0.900000;0.500000;0.800000
+ColorBackground:0.000000;0.000000;0.000000;0.000000
FontRender:00000000!00000001
ChildId:00000000!00000000
@@ -418,7 +420,7 @@ UUID:02020202-0202-0202-0202-020202020202
Flags:0x84
PosTopLeft:0.100000;0.100000
MaxSize:0.800000;0.800000
-Type:0x28
+Type:0x32
Layer:0x00
:PKFE:)VOGON";
@@ -459,7 +461,7 @@ int pke_test_serialization_003() {
PKE_TEST_ASSERT(h->kvp_containers.next == 4, err_index);
// FontRenderSettings
PKE_TEST_ASSERT(h->kvp_containers[0].child_handles.next == 0, err_index);
- PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 6, err_index);
+ PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 8, err_index);
// FontRender
PKE_TEST_ASSERT(h->kvp_containers[1].child_handles.next == 1, err_index);
PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 3, err_index);
@@ -473,7 +475,7 @@ int pke_test_serialization_003() {
// 12
for (k = 0; k < h->kvp_containers.next; ++k) {
for (i = 0; i < h->kvp_containers[k].arr.next; ++i) {
- // 12 + (3 * (6 + 3 + 1 + 6))
+ // 12 + (3 * (8 + 3 + 1 + 6))
kve = &h->kvp_containers[k].arr[i];
PKE_TEST_ASSERT(kve->key != nullptr, err_index);
PKE_TEST_ASSERT(kve->val != nullptr, err_index);
@@ -481,7 +483,7 @@ int pke_test_serialization_003() {
}
}
- // 60
+ // 66
PKE_TEST_ASSERT(strstr(test_003_str, s.c_str()) != nullptr, err_index);
pke_serialize_teardown(h);
@@ -512,7 +514,7 @@ int pke_test_deserialization_103() {
PKE_TEST_ASSERT(h->kvp_containers.next == 4, err_index);
// FontRenderSettings
PKE_TEST_ASSERT(h->kvp_containers[0].child_handles.next == 0, err_index);
- PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 6, err_index);
+ PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 8, err_index);
// FontRender
PKE_TEST_ASSERT(h->kvp_containers[1].child_handles.next == 1, err_index);
PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 3, err_index);
@@ -526,7 +528,7 @@ int pke_test_deserialization_103() {
// 12
for (k = 0; k < h->kvp_containers.next; ++k) {
for (i = 0; i < h->kvp_containers[k].arr.next; ++i) {
- // 12 + (3 * (6 + 3 + 1 + 6))
+ // 12 + (3 * (8 + 3 + 1 + 6))
kve = &h->kvp_containers[k].arr[i];
PKE_TEST_ASSERT(kve->key != nullptr, err_index);
PKE_TEST_ASSERT(kve->val != nullptr, err_index);
@@ -538,22 +540,26 @@ int pke_test_deserialization_103() {
FontTypeIndex fti = FontTypeIndex{0};
FontType *fonts = FontType_GetFonts(fti);
- // 60
+ // 66
PKE_TEST_ASSERT(fti > FontTypeIndex{0}, err_index);
PKE_TEST_ASSERT(fonts != nullptr, err_index);
PKE_TEST_ASSERT(fonts->h_render > FontRenderIndex{0}, err_index);
PKE_TEST_ASSERT(fonts->n_render > FontRenderIndex{0}, err_index);
FontRender *fr = &fonts[0].renders[0];
- // 64
+ // 70
PKE_TEST_ASSERT(fr->settings.char_scale == 1.f, err_index);
PKE_TEST_ASSERT(fr->settings.line_height_scale == 1.f, err_index);
PKE_TEST_ASSERT(fr->settings.char_spacing_scale == 1.f, err_index);
PKE_TEST_ASSERT(fr->settings.surface_area_size == glm::ivec2(250,250), err_index);
PKE_TEST_ASSERT(fr->settings.surface_area_pos == glm::ivec2(0,0), err_index);
PKE_TEST_ASSERT(fr->settings.surface_area_type_flags == FONT_RENDER_SURFACE_AREA_TYPE_FLAGS_FLUID, err_index);
+ // auto equal_4 = glm::epsilonEqual(fr->settings.color_foreground, glm::vec4(0.4, 0.9, 0.5, 0.8), epsilon_4);
+ // PKE_TEST_ASSERT(equal_4 == bool_4, err_index);
+ PKE_TEST_ASSERT(fr->settings.color_foreground == glm::vec4(0.4, 0.9, 0.5, 0.8), err_index);
+ PKE_TEST_ASSERT(fr->settings.color_background == glm::vec4(0.0, 0.0, 0.0, 0.0), err_index);
- // 70
+ // 78
PKE_TEST_ASSERT(fr->uuid == uuid_n[1], err_index);
PKE_TEST_ASSERT(fr->text.val != nullptr, err_index);
PKE_TEST_ASSERT(fr->text.val[0] == 'a', err_index);
@@ -562,6 +568,16 @@ int pke_test_deserialization_103() {
PKE_TEST_ASSERT(fr->text.val[3] == 'f', err_index);
PKE_TEST_ASSERT(fr->text.val[4] == '\0', err_index);
+ // 85
+ pke_ui_box_count_T count;
+ pke_ui_box **boxes = pke_ui_get_root_boxes(&count);
+ pke_ui_box *box = boxes[0];
+ PKE_TEST_ASSERT(count == 1, err_index)
+ PKE_TEST_ASSERT(box->internal.h_children == 0, err_index)
+ PKE_TEST_ASSERT(box->type == PKE_UI_BOX_TYPE_TEXT, err_index)
+ PKE_TEST_ASSERT(PK_HAS_FLAG(box->flags, PKE_UI_BOX_FLAG_POSITION_TYPE_DYNAMIC), err_index)
+ PKE_TEST_ASSERT(PK_HAS_FLAG(box->flags, PKE_UI_BOX_FLAG_VISIBILITY_INVISIBLE), err_index)
+
pke_deserialize_teardown(h);
} catch (const std::exception &ex) {
@@ -583,6 +599,8 @@ PosTopLeft:1.000000;1.000000
MaxSize:1278.000000;718.000000
Type:0x00
Layer:0x00
+ColorBorder:1.000000;0.000000;0.000000;1.000000
+ColorBackground:0.200000;0.300000;0.200000;0.500000
UIBox:00000000!00000001
UUID:01010101-0101-0101-0101-010101010101
@@ -592,6 +610,8 @@ PosTopLeft:0.100000;0.100000
MaxSize:0.800000;0.800000
Type:0x00
Layer:0x00
+ColorBorder:1.000000;0.000000;0.000000;1.000000
+ColorBackground:0.200000;0.300000;0.200000;0.500000
:PKFE:)VOGON";
int pke_test_serialization_004() {
@@ -627,15 +647,15 @@ int pke_test_serialization_004() {
PKE_TEST_ASSERT(h->kvp_containers.next == 2, err_index);
// ui box
PKE_TEST_ASSERT(h->kvp_containers[0].child_handles.next == 1, err_index);
- PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 6, err_index);
+ PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 8, err_index);
// ui box
PKE_TEST_ASSERT(h->kvp_containers[1].child_handles.next == 0, err_index);
- PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 7, err_index);
+ PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 9, err_index);
// 8
for (k = 0; k < h->kvp_containers.next; ++k) {
for (i = 0; i < h->kvp_containers[k].arr.next; ++i) {
- // 8 + (3 * (7 + 6))
+ // 8 + (3 * (9 + 8))
kve = &h->kvp_containers[k].arr[i];
PKE_TEST_ASSERT(kve->key != nullptr, err_index);
PKE_TEST_ASSERT(kve->val != nullptr, err_index);
@@ -643,7 +663,7 @@ int pke_test_serialization_004() {
}
}
- // 47
+ // 59
PKE_TEST_ASSERT(strstr(test_004_str, s.c_str()) != nullptr, err_index);
pke_serialize_teardown(h);
@@ -673,15 +693,15 @@ int pke_test_deserialization_104() {
PKE_TEST_ASSERT(h->kvp_containers.next == 2, err_index);
// ui box
PKE_TEST_ASSERT(h->kvp_containers[0].child_handles.next == 1, err_index);
- PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 6, err_index);
+ PKE_TEST_ASSERT(h->kvp_containers[0].arr.next == 8, err_index);
// ui box
PKE_TEST_ASSERT(h->kvp_containers[1].child_handles.next == 0, err_index);
- PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 7, err_index);
+ PKE_TEST_ASSERT(h->kvp_containers[1].arr.next == 9, err_index);
// 8
for (k = 0; k < h->kvp_containers.next; ++k) {
for (i = 0; i < h->kvp_containers[k].arr.next; ++i) {
- // 8 + (3 * (7 + 6))
+ // 8 + (3 * (9 + 8))
kve = &h->kvp_containers[k].arr[i];
PKE_TEST_ASSERT(kve->key != nullptr, err_index);
PKE_TEST_ASSERT(kve->val != nullptr, err_index);
@@ -693,12 +713,12 @@ int pke_test_deserialization_104() {
pke_ui_box_count_T box_count;
pke_ui_box **root_boxes = pke_ui_get_root_boxes(&box_count);
- // 47
+ // 59
PKE_TEST_ASSERT(root_boxes != nullptr, err_index);
PKE_TEST_ASSERT(box_count == 1, err_index);
PKE_TEST_ASSERT(root_boxes[0] != nullptr, err_index);
- // 50
+ // 62
PKE_TEST_ASSERT(root_boxes[0]->uuid == uuid_n[2], err_index);
PKE_TEST_ASSERT(PK_HAS_FLAG(root_boxes[0]->flags, PKE_UI_BOX_FLAG_POSITION_TYPE_STATIC), err_index);
PKE_TEST_ASSERT(root_boxes[0]->pos_top_left == glm::vec2(1.f,1.f), err_index);
@@ -709,9 +729,11 @@ int pke_test_deserialization_104() {
PKE_TEST_ASSERT(root_boxes[0]->internal.h_children == 1, err_index);
PKE_TEST_ASSERT(root_boxes[0]->internal.children != nullptr, err_index);
PKE_TEST_ASSERT(root_boxes[0]->internal.children[0] != nullptr, err_index);
+ PKE_TEST_ASSERT(root_boxes[0]->color_border == glm::vec4(1.0,0.0,0.0,1.0), err_index);
+ PKE_TEST_ASSERT(root_boxes[0]->color_background == glm::vec4(0.2,0.3,0.2,0.5), err_index);
pke_ui_box *box_c = root_boxes[0]->internal.children[0];
- // 60
+ // 74
PKE_TEST_ASSERT(box_c->uuid == uuid_n[1], err_index);
PKE_TEST_ASSERT(PK_HAS_FLAG(box_c->flags, PKE_UI_BOX_FLAG_POSITION_TYPE_DYNAMIC), err_index);
PKE_TEST_ASSERT(box_c->pos_top_left == glm::vec2(0.1,0.1), err_index);
@@ -721,6 +743,8 @@ int pke_test_deserialization_104() {
PKE_TEST_ASSERT(box_c->internal.parent == root_boxes[0], err_index);
PKE_TEST_ASSERT(box_c->internal.h_children == 0, err_index);
PKE_TEST_ASSERT(box_c->internal.children == nullptr, err_index);
+ PKE_TEST_ASSERT(box_c->color_border == glm::vec4(1.0,0.0,0.0,1.0), err_index);
+ PKE_TEST_ASSERT(box_c->color_background == glm::vec4(0.2,0.3,0.2,0.5), err_index);
pke_deserialize_teardown(h);