diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-12-02 09:08:01 -0500 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-12-02 09:08:01 -0500 |
| commit | 96bf1092d9c0fc53ab3ab2da9d5af979ce890c81 (patch) | |
| tree | 03d03d0b7045843e83185a33b667276480fabd0c | |
| parent | b86dfd9db0bf04807458388cb3b86c317f912cb2 (diff) | |
pke-test: horizontal centering tests after changes
| -rw-r--r-- | tests/pke-test-font.cpp | 32 |
1 files 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<FontInstanceBufferItem> 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); } |
