gdi32/tests: simplify testcase

André Hentschel nerv at dawncrow.de
Tue Nov 17 10:14:35 CST 2009


---
 dlls/gdi32/tests/font.c |   39 ++++++---------------------------------
 1 files changed, 6 insertions(+), 33 deletions(-)

diff --git a/dlls/gdi32/tests/font.c b/dlls/gdi32/tests/font.c
index 4ad418f..4e63262 100644
--- a/dlls/gdi32/tests/font.c
+++ b/dlls/gdi32/tests/font.c
@@ -2980,35 +2980,22 @@ static void test_GetTextMetrics2(const char *fontname, int font_height)
 void test_CreateFontIndirect(void)
 {
     LOGFONTA lf, getobj_lf;
-    int ret;
+    int ret, i;
     HFONT hfont;
+    char TestName[][16] = {"Arial", "Arial Bold", "Arial Italic"};
 
     memset(&lf, 0, sizeof(lf));
-
     lf.lfCharSet = ANSI_CHARSET;
     lf.lfClipPrecision = CLIP_DEFAULT_PRECIS;
     lf.lfHeight = 16;
     lf.lfWidth = 16;
     lf.lfQuality = DEFAULT_QUALITY;
-
     lf.lfItalic = FALSE;
     lf.lfWeight = FW_DONTCARE;
-    lstrcpyA(lf.lfFaceName, "Arial");
-    hfont = CreateFontIndirectA(&lf);
-    ok(hfont != 0, "CreateFontIndirectA failed\n");
-    ret = GetObject(hfont, sizeof(getobj_lf), &getobj_lf);
-    ok(lf.lfWeight == getobj_lf.lfWeight ||
-       broken((SHORT)lf.lfWeight == getobj_lf.lfWeight), /* win9x */
-       "lfWeight: expect %08x got %08x\n", lf.lfWeight, getobj_lf.lfWeight);
-    ok(lf.lfItalic == getobj_lf.lfItalic, "lfItalic: expect %02x got %02x\n", lf.lfItalic, getobj_lf.lfItalic);
-    ok(!lstrcmpA(lf.lfFaceName, getobj_lf.lfFaceName) ||
-       broken(!memcmp(lf.lfFaceName, getobj_lf.lfFaceName, LF_FACESIZE-1)), /* win9x doesn't ensure '\0' termination */
-       "font names don't match: %s != %s\n", lf.lfFaceName, getobj_lf.lfFaceName);
-    DeleteObject(hfont);
 
-    lf.lfItalic = FALSE;
-    lf.lfWeight = FW_DONTCARE;
-    lstrcpyA(lf.lfFaceName, "Arial Bold");
+    for(i=0;i<sizeof(TestName)/sizeof(TestName[0]);i++)
+    {
+    lstrcpyA(lf.lfFaceName, TestName[i]);
     hfont = CreateFontIndirectA(&lf);
     ok(hfont != 0, "CreateFontIndirectA failed\n");
     ret = GetObject(hfont, sizeof(getobj_lf), &getobj_lf);
@@ -3020,21 +3007,7 @@ void test_CreateFontIndirect(void)
        broken(!memcmp(lf.lfFaceName, getobj_lf.lfFaceName, LF_FACESIZE-1)), /* win9x doesn't ensure '\0' termination */
        "font names don't match: %s != %s\n", lf.lfFaceName, getobj_lf.lfFaceName);
     DeleteObject(hfont);
-
-    lf.lfItalic = FALSE;
-    lf.lfWeight = FW_DONTCARE;
-    lstrcpyA(lf.lfFaceName, "Arial Italic");
-    hfont = CreateFontIndirectA(&lf);
-    ok(hfont != 0, "CreateFontIndirectA failed\n");
-    ret = GetObject(hfont, sizeof(getobj_lf), &getobj_lf);
-    ok(lf.lfWeight == getobj_lf.lfWeight ||
-       broken((SHORT)lf.lfWeight == getobj_lf.lfWeight), /* win9x */
-       "lfWeight: expect %08x got %08x\n", lf.lfWeight, getobj_lf.lfWeight);
-    ok(lf.lfItalic == getobj_lf.lfItalic, "lfItalic: expect %02x got %02x\n", lf.lfItalic, getobj_lf.lfItalic);
-    ok(!lstrcmpA(lf.lfFaceName, getobj_lf.lfFaceName) ||
-       broken(!memcmp(lf.lfFaceName, getobj_lf.lfFaceName, LF_FACESIZE-1)), /* win9x doesn't ensure '\0' termination */
-       "font names don't match: %s != %s\n", lf.lfFaceName, getobj_lf.lfFaceName);
-    DeleteObject(hfont);
+    }
 }
 
 START_TEST(font)
-- 

Best Regards, André Hentschel



More information about the wine-patches mailing list