Shawn M. Chapla : gdiplus/tests: Add additional logfont size tests.
Alexandre Julliard
julliard at winehq.org
Wed Jul 15 16:44:46 CDT 2020
Module: wine
Branch: master
Commit: bfc8404041edc39292eb68b911df814c998055fe
URL: https://source.winehq.org/git/wine.git/?a=commit;h=bfc8404041edc39292eb68b911df814c998055fe
Author: Shawn M. Chapla <schapla at codeweavers.com>
Date: Tue Jul 14 21:24:56 2020 -0400
gdiplus/tests: Add additional logfont size tests.
Signed-off-by: Shawn M. Chapla <schapla at codeweavers.com>
Signed-off-by: Esme Povirk <esme at codewevers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/gdiplus/tests/font.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/dlls/gdiplus/tests/font.c b/dlls/gdiplus/tests/font.c
index 10d1f3bd5a..74cf451e36 100644
--- a/dlls/gdiplus/tests/font.c
+++ b/dlls/gdiplus/tests/font.c
@@ -300,6 +300,56 @@ static void test_logfont(void)
GdipDeleteFontFamily(family);
GdipDeleteFont(font);
+ font = NULL;
+
+ /* The next test must be done with a font where tmHeight -
+ tmInternalLeading != tmAscent. Times New Roman is such a font,
+ so make sure we really have it before continuing. */
+ memset(&lfa, 0, sizeof(lfa));
+ lstrcpyA(lfa.lfFaceName, "Times New Roman");
+
+ stat = GdipCreateFontFromLogfontA(hdc, &lfa, &font);
+ expect(Ok, stat);
+
+ memset(&lfa2, 0, sizeof(lfa2));
+ stat = GdipGetLogFontA(font, graphics, &lfa2);
+ expect(Ok, stat);
+
+ GdipDeleteFont(font);
+ font = NULL;
+
+ if (!lstrlenA(lfa.lfFaceName) || lstrcmpA(lfa.lfFaceName, lfa2.lfFaceName))
+ {
+ skip("Times New Roman not installed\n");
+ }
+ else
+ {
+ static const struct
+ {
+ INT input;
+ REAL expected;
+ } test_sizes[] = {{12, 9.0}, {36, 32.0}, {48, 42.0}, {72, 63.0}, {144, 127.0}};
+
+ UINT i;
+
+ memset(&lfa, 0, sizeof(lfa));
+ lstrcpyA(lfa.lfFaceName, "Times New Roman");
+
+ for (i = 0; i < sizeof(test_sizes)/sizeof(test_sizes[0]); ++i)
+ {
+ lfa.lfHeight = test_sizes[i].input;
+
+ stat = GdipCreateFontFromLogfontA(hdc, &lfa, &font);
+ expect(Ok, stat);
+
+ stat = GdipGetFontSize(font, &rval);
+ expect(Ok, stat);
+ todo_wine expectf(test_sizes[i].expected, rval);
+
+ GdipDeleteFont(font);
+ font = NULL;
+ }
+ }
GdipDeleteGraphics(graphics);
ReleaseDC(0, hdc);
More information about the wine-cvs
mailing list