From 96bf1092d9c0fc53ab3ab2da9d5af979ce890c81 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Tue, 2 Dec 2025 09:08:01 -0500 Subject: pke-test: horizontal centering tests after changes --- tests/pke-test-font.cpp | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/tests/pke-test-font.cpp b/tests/pke-test-font.cpp index 7db06d4..b4a1235 100644 --- a/tests/pke-test-font.cpp +++ b/tests/pke-test-font.cpp @@ -425,7 +425,7 @@ int pke_test_font_007() { FontRender *fr; FontRenderSettings frs{}; uint32_t u = 0; - float font_glyph_spacing, tmp; + float font_glyph_spacing; glm::vec4 coord; pke_test_font_inner_func_params params[3]; pk_arr_t fibis{}; @@ -488,9 +488,11 @@ int pke_test_font_007() { } PK_TEST_ASSERT_EQ_RET (13, params[0].char_count); + // centered text ignores character padding at front + back PK_TEST_ASSERT_EQ_RET (7402.f, floor((double)params[0].val * 100)); PK_TEST_ASSERT_EQ_RET (5, params[1].char_count); - PK_TEST_ASSERT_EQ_RET (402777.f, floor((double)params[1].val * 10000)); + // centered text removes white-space at beginning+end of lines + PK_TEST_ASSERT_EQ_RET (202777.f, floor((double)params[1].val * 10000)); PK_TEST_ASSERT_EQ_RET (4, params[2].char_count); PK_TEST_ASSERT_EQ_RET (202777.f, floor((double)params[2].val * 10000)); } @@ -515,21 +517,25 @@ int pke_test_font_007() { {-1, 1}, */ // top left - // ~6 (padding) == (80 (box size) - 74.02) - // ~3 padding on each side to center + // ~6 (total padding) == (80 (box size) - 74.02) + // ~3 padding on each side when centered coord = fibis[0].pos_scale * glm::vec4(pkeIntrinsicsPlane.vert[0], 0, 1); - coord += glm::vec4(1.f, 1.f, 0.f, 0.f); - coord *= glm::vec4(1920.f/2.f, 1080.f/2.f, 0.f, 1.f); - PK_TEST_ASSERT_GTE_RET(2, coord.x); - PK_TEST_ASSERT_LTE_RET(3, coord.x); - tmp = coord.x; + coord.x += 1; + coord.y += 1; + coord.x *= 1920.f/2.f; + coord.y *= 1080.f/2.f; + PK_TEST_ASSERT_GTE_RET(2.98, coord.x); + PK_TEST_ASSERT_LTE_RET(2.99, coord.x); + // tmp = coord.x; // bottom right coord = fibis[12].pos_scale * glm::vec4(pkeIntrinsicsPlane.vert[2], 0, 1); - coord += glm::vec4(1.f, 1.f, 0.f, 0.f); - coord *= glm::vec4(1920.f/2.f, 1080.f/2.f, 0.f, 1.f); - PK_TEST_ASSERT_GTE_RET(tmp-0.1, frs.surface_area_size.x-coord.x); - PK_TEST_ASSERT_LTE_RET(tmp+0.1, frs.surface_area_size.x-coord.x); + coord.x += 1; + coord.y += 1; + coord.x *= 1920.f/2.f; + coord.y *= 1080.f/2.f; + PK_TEST_ASSERT_GTE_RET(2.98, frs.surface_area_size.x-coord.x); + PK_TEST_ASSERT_LTE_RET(2.99, frs.surface_area_size.x-coord.x); PK_TEST_ASSERT_GTE_RET(frs.surface_area_size.x-3, coord.x); PK_TEST_ASSERT_LTE_RET(frs.surface_area_size.x-2, coord.x); } -- cgit v1.2.3