[PATCH v2 2/7] gdi32/tests: Add more GetTextExtentExPoint tests.
Sven Baars
sbaars at codeweavers.com
Mon Nov 9 08:07:14 CST 2020
Signed-off-by: Sven Baars <sbaars at codeweavers.com>
---
dlls/gdi32/tests/font.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/dlls/gdi32/tests/font.c b/dlls/gdi32/tests/font.c
index d3ec971dce0..2592db2cc06 100644
--- a/dlls/gdi32/tests/font.c
+++ b/dlls/gdi32/tests/font.c
@@ -1505,17 +1505,33 @@ static void test_text_extents(void)
ok(extents[i-1] <= extents[i],
"GetTextExtentExPointW generated a non-increasing sequence of partial extents (at position %d)\n",
i);
+ todo_wine ok(extents[2] == extents[3], "GetTextExtentExPointW doesn't return 0 width for a newline\n");
ok(extents[len-1] == sz1.cx, "GetTextExtentExPointW extents and size don't match\n");
ok(0 <= fit1 && fit1 <= len, "GetTextExtentExPointW generated illegal value %d for fit\n", fit1);
ok(0 < fit1, "GetTextExtentExPointW says we can't even fit one letter in 32767 logical units\n");
+
GetTextExtentExPointW(hdc, wt, len, extents[2], &fit2, NULL, &sz2);
ok(sz1.cx == sz2.cx && sz1.cy == sz2.cy, "GetTextExtentExPointW returned different sizes for the same string\n");
ok(fit2 == 3, "GetTextExtentExPointW extents isn't consistent with fit\n");
+
+ extents2[2] = -1;
+ GetTextExtentExPointW(hdc, wt, len, extents[2], &fit2, extents2, &sz2);
+ ok(sz1.cx == sz2.cx && sz1.cy == sz2.cy, "GetTextExtentExPointW returned different sizes for the same string\n");
+ ok(fit2 == 3, "GetTextExtentExPointW extents isn't consistent with fit\n");
+ ok(extents2[2] == extents[2], "GetTextExtentExPointW last extent isn't set\n");
+
GetTextExtentExPointW(hdc, wt, len, extents[2]-1, &fit2, NULL, &sz2);
ok(fit2 == 2, "GetTextExtentExPointW extents isn't consistent with fit\n");
+
+ extents2[1] = -1;
+ GetTextExtentExPointW(hdc, wt, len, extents[2]-1, &fit2, extents2, &sz2);
+ ok(fit2 == 2, "GetTextExtentExPointW extents isn't consistent with fit\n");
+ ok(extents2[1] == extents[1], "GetTextExtentExPointW extent isn't set\n");
+
GetTextExtentExPointW(hdc, wt, 2, 0, NULL, extents + 2, &sz2);
ok(extents[0] == extents[2] && extents[1] == extents[3],
"GetTextExtentExPointW with lpnFit == NULL returns incorrect results\n");
+
GetTextExtentExPointW(hdc, wt, 2, 0, NULL, NULL, &sz1);
ok(sz1.cx == sz2.cx && sz1.cy == sz2.cy,
"GetTextExtentExPointW with lpnFit and alpDx both NULL returns incorrect results\n");
--
2.25.1
More information about the wine-devel
mailing list