From 9c01d10bc6ee75620debe9ecabcad5e14e230e0f Mon Sep 17 00:00:00 2001 From: Hugh McMaster Date: Tue, 3 May 2016 02:07:01 +0200 Subject: [PATCH] kernel32/tests: Add tests for SetConsoleFont. Signed-off-by: Hugh McMaster Signed-off-by: Sebastian Lackner Signed-off-by: Alexandre Julliard --- dlls/kernel32/tests/console.c | 42 +++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/dlls/kernel32/tests/console.c b/dlls/kernel32/tests/console.c index 3f72573f93..5b66d9fbf5 100644 --- a/dlls/kernel32/tests/console.c +++ b/dlls/kernel32/tests/console.c @@ -2897,6 +2897,47 @@ static void test_GetConsoleFontInfo(HANDLE std_output) SetConsoleScreenBufferSize(std_output, orig_sb_size); } +static void test_SetConsoleFont(HANDLE std_output) +{ + HANDLE hmod; + BOOL (WINAPI *pSetConsoleFont)(HANDLE, DWORD); + BOOL ret; + DWORD (WINAPI *pGetNumberOfConsoleFonts)(void); + DWORD num_fonts; + + hmod = GetModuleHandleA("kernel32.dll"); + pSetConsoleFont = (void *)GetProcAddress(hmod, "SetConsoleFont"); + if (!pSetConsoleFont) + { + win_skip("SetConsoleFont is not available\n"); + return; + } + + SetLastError(0xdeadbeef); + ret = pSetConsoleFont(NULL, 0); + ok(!ret, "got %d, expected zero\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_HANDLE, "got %u, expected 6\n", GetLastError()); + + SetLastError(0xdeadbeef); + ret = pSetConsoleFont(GetStdHandle(STD_INPUT_HANDLE), 0); + ok(!ret, "got %d, expected zero\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_HANDLE, "got %u, expected 6\n", GetLastError()); + + pGetNumberOfConsoleFonts = (void *)GetProcAddress(hmod, "GetNumberOfConsoleFonts"); + if (!pGetNumberOfConsoleFonts) + { + win_skip("GetNumberOfConsoleFonts is not available\n"); + return; + } + + num_fonts = pGetNumberOfConsoleFonts(); + + SetLastError(0xdeadbeef); + ret = pSetConsoleFont(std_output, num_fonts); + ok(!ret, "got %d, expected zero\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_PARAMETER, "got %u, expected 87\n", GetLastError()); +} + START_TEST(console) { static const char font_name[] = "Lucida Console"; @@ -3044,4 +3085,5 @@ START_TEST(console) test_GetConsoleFontSize(hConOut); test_GetLargestConsoleWindowSize(hConOut); test_GetConsoleFontInfo(hConOut); + test_SetConsoleFont(hConOut); }