Module: wine Branch: master Commit: be6295abb0549073725160790bb03f2b244f2567 URL: https://source.winehq.org/git/wine.git/?a=commit;h=be6295abb0549073725160790...
Author: Jacek Caban jacek@codeweavers.com Date: Fri Jul 2 12:41:39 2021 +0200
gdi32/tests: Add more SelectObject tests.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Huw Davies huw@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/gdi32/tests/bitmap.c | 6 ++++++ dlls/gdi32/tests/font.c | 27 +++++++++++++++++++++++++++ 2 files changed, 33 insertions(+)
diff --git a/dlls/gdi32/tests/bitmap.c b/dlls/gdi32/tests/bitmap.c index fe3482671b2..0293d881fd9 100644 --- a/dlls/gdi32/tests/bitmap.c +++ b/dlls/gdi32/tests/bitmap.c @@ -2673,6 +2673,12 @@ static void test_select_object(void) hbm_old = SelectObject(hdc, hbm_old); ok(hbm_old == hbm, "SelectObject failed\n");
+ SetLastError(0xdeadbeef); + hbm_old = SelectObject(NULL, hbm); + ok(!hbm_old, "SelectObject returned %p\n", hbm_old); + ok(GetLastError() == ERROR_INVALID_HANDLE, "GetLastError() = %u\n", + GetLastError()); + DeleteObject(hbm);
/* test an 1-bpp bitmap */ diff --git a/dlls/gdi32/tests/font.c b/dlls/gdi32/tests/font.c index 8a4137d7fd1..7aee0a86d23 100644 --- a/dlls/gdi32/tests/font.c +++ b/dlls/gdi32/tests/font.c @@ -7743,6 +7743,32 @@ done: ReleaseDC(0, hdc); }
+static void test_select_object(void) +{ + HFONT hfont, old_font; + LOGFONTA lf; + + memset(&lf, 0, sizeof lf); + + lf.lfCharSet = ANSI_CHARSET; + lf.lfClipPrecision = CLIP_DEFAULT_PRECIS; + lf.lfWeight = FW_DONTCARE; + lf.lfHeight = 16; + lf.lfWidth = 16; + lf.lfQuality = DEFAULT_QUALITY; + + lstrcpyA(lf.lfFaceName, "Arial"); + hfont = create_font("Arial", &lf); + + SetLastError(0xdeadbeef); + old_font = SelectObject(NULL, hfont); + ok(!old_font, "SelectObject returned %p\n", old_font); + ok(GetLastError() == ERROR_INVALID_HANDLE, "GetLastError() = %u\n", + GetLastError()); + + DeleteObject(hfont); +} + START_TEST(font) { static const char *test_names[] = @@ -7829,6 +7855,7 @@ START_TEST(font) test_ttf_names(); test_lang_names(); test_char_width(); + test_select_object();
/* These tests should be last test until RemoveFontResource * is properly implemented.