gdi32/tests: Simplify testcase.

This commit is contained in:
André Hentschel 2009-11-17 17:43:54 +01:00 committed by Alexandre Julliard
parent d568c2ac56
commit 762280eab0
1 changed files with 17 additions and 44 deletions

View File

@ -2980,61 +2980,34 @@ static void test_GetTextMetrics2(const char *fontname, int font_height)
void test_CreateFontIndirect(void) void test_CreateFontIndirect(void)
{ {
LOGFONTA lf, getobj_lf; LOGFONTA lf, getobj_lf;
int ret; int ret, i;
HFONT hfont; HFONT hfont;
char TestName[][16] = {"Arial", "Arial Bold", "Arial Italic"};
memset(&lf, 0, sizeof(lf)); memset(&lf, 0, sizeof(lf));
lf.lfCharSet = ANSI_CHARSET; lf.lfCharSet = ANSI_CHARSET;
lf.lfClipPrecision = CLIP_DEFAULT_PRECIS; lf.lfClipPrecision = CLIP_DEFAULT_PRECIS;
lf.lfHeight = 16; lf.lfHeight = 16;
lf.lfWidth = 16; lf.lfWidth = 16;
lf.lfQuality = DEFAULT_QUALITY; lf.lfQuality = DEFAULT_QUALITY;
lf.lfItalic = FALSE; lf.lfItalic = FALSE;
lf.lfWeight = FW_DONTCARE; 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; for (i = 0; i < sizeof(TestName)/sizeof(TestName[0]); i++)
lf.lfWeight = FW_DONTCARE; {
lstrcpyA(lf.lfFaceName, "Arial Bold"); lstrcpyA(lf.lfFaceName, TestName[i]);
hfont = CreateFontIndirectA(&lf); hfont = CreateFontIndirectA(&lf);
ok(hfont != 0, "CreateFontIndirectA failed\n"); ok(hfont != 0, "CreateFontIndirectA failed\n");
ret = GetObject(hfont, sizeof(getobj_lf), &getobj_lf); ret = GetObject(hfont, sizeof(getobj_lf), &getobj_lf);
ok(lf.lfItalic == getobj_lf.lfItalic, "lfItalic: expect %02x got %02x\n", lf.lfItalic, getobj_lf.lfItalic); ok(lf.lfItalic == getobj_lf.lfItalic, "lfItalic: expect %02x got %02x\n", lf.lfItalic, getobj_lf.lfItalic);
ok(lf.lfWeight == getobj_lf.lfWeight || ok(lf.lfWeight == getobj_lf.lfWeight ||
broken((SHORT)lf.lfWeight == getobj_lf.lfWeight), /* win9x */ broken((SHORT)lf.lfWeight == getobj_lf.lfWeight), /* win9x */
"lfWeight: expect %08x got %08x\n", lf.lfWeight, getobj_lf.lfWeight); "lfWeight: expect %08x got %08x\n", lf.lfWeight, getobj_lf.lfWeight);
ok(!lstrcmpA(lf.lfFaceName, getobj_lf.lfFaceName) || ok(!lstrcmpA(lf.lfFaceName, getobj_lf.lfFaceName) ||
broken(!memcmp(lf.lfFaceName, getobj_lf.lfFaceName, LF_FACESIZE-1)), /* win9x doesn't ensure '\0' termination */ 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); "font names don't match: %s != %s\n", lf.lfFaceName, getobj_lf.lfFaceName);
DeleteObject(hfont); 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) START_TEST(font)