Module: wine Branch: master Commit: ec25eeab4c18d9697bbd6ad1822368aa6330cc2f URL: https://source.winehq.org/git/wine.git/?a=commit;h=ec25eeab4c18d9697bbd6ad18...
Author: Hugh McMaster hugh.mcmaster@outlook.com Date: Tue Aug 17 22:11:11 2021 +1000
kernel32/tests: Add tests for SetCurrentConsoleFontEx.
Signed-off-by: Hugh McMaster hugh.mcmaster@outlook.com Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/kernel32/tests/console.c | 117 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+)
diff --git a/dlls/kernel32/tests/console.c b/dlls/kernel32/tests/console.c index 759a0572b13..3003ff63f5a 100644 --- a/dlls/kernel32/tests/console.c +++ b/dlls/kernel32/tests/console.c @@ -3536,6 +3536,122 @@ static void test_GetCurrentConsoleFontEx(HANDLE std_output) ok(cfix.dwFontSize.Y == cfi.dwFontSize.Y, "expected values to match\n"); }
+static void test_SetCurrentConsoleFontEx(HANDLE std_output) +{ + CONSOLE_FONT_INFOEX orig_cfix, cfix; + BOOL ret; + HANDLE pipe1, pipe2; + HANDLE std_input = GetStdHandle(STD_INPUT_HANDLE); + + orig_cfix.cbSize = sizeof(CONSOLE_FONT_INFOEX); + + ret = GetCurrentConsoleFontEx(std_output, FALSE, &orig_cfix); + ok(ret, "got %d, expected non-zero\n", ret); + + cfix = orig_cfix; + cfix.cbSize = 0; + + SetLastError(0xdeadbeef); + ret = SetCurrentConsoleFontEx(NULL, FALSE, &cfix); + ok(!ret, "got %d, expected 0\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_PARAMETER, "got %u, expected 87\n", GetLastError()); + + SetLastError(0xdeadbeef); + ret = SetCurrentConsoleFontEx(NULL, TRUE, &cfix); + ok(!ret, "got %d, expected 0\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_PARAMETER, "got %u, expected 87\n", GetLastError()); + + CreatePipe(&pipe1, &pipe2, NULL, 0); + SetLastError(0xdeadbeef); + ret = SetCurrentConsoleFontEx(pipe1, FALSE, &cfix); + ok(!ret, "got %d, expected 0\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_PARAMETER, "got %u, expected 87\n", GetLastError()); + CloseHandle(pipe1); + CloseHandle(pipe2); + + CreatePipe(&pipe1, &pipe2, NULL, 0); + SetLastError(0xdeadbeef); + ret = SetCurrentConsoleFontEx(pipe1, TRUE, &cfix); + ok(!ret, "got %d, expected 0\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_PARAMETER, "got %u, expected 87\n", GetLastError()); + CloseHandle(pipe1); + CloseHandle(pipe2); + + SetLastError(0xdeadbeef); + ret = SetCurrentConsoleFontEx(std_input, FALSE, &cfix); + ok(!ret, "got %d, expected 0\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_PARAMETER, "got %u, expected 87\n", GetLastError()); + + SetLastError(0xdeadbeef); + ret = SetCurrentConsoleFontEx(std_input, TRUE, &cfix); + ok(!ret, "got %d, expected 0\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_PARAMETER, "got %u, expected 87\n", GetLastError()); + + SetLastError(0xdeadbeef); + ret = SetCurrentConsoleFontEx(std_output, FALSE, &cfix); + ok(!ret, "got %d, expected 0\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_PARAMETER, "got %u, expected 87\n", GetLastError()); + + SetLastError(0xdeadbeef); + ret = SetCurrentConsoleFontEx(std_output, TRUE, &cfix); + ok(!ret, "got %d, expected 0\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_PARAMETER, "got %u, expected 87\n", GetLastError()); + + cfix = orig_cfix; + + SetLastError(0xdeadbeef); + ret = SetCurrentConsoleFontEx(NULL, FALSE, &cfix); + ok(!ret, "got %d, expected 0\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_HANDLE, "got %u, expected 6\n", GetLastError()); + + SetLastError(0xdeadbeef); + ret = SetCurrentConsoleFontEx(NULL, TRUE, &cfix); + ok(!ret, "got %d, expected 0\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_HANDLE, "got %u, expected 6\n", GetLastError()); + + CreatePipe(&pipe1, &pipe2, NULL, 0); + SetLastError(0xdeadbeef); + ret = SetCurrentConsoleFontEx(pipe1, FALSE, &cfix); + ok(!ret, "got %d, expected 0\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_HANDLE, "got %u, expected 6\n", GetLastError()); + CloseHandle(pipe1); + CloseHandle(pipe2); + + CreatePipe(&pipe1, &pipe2, NULL, 0); + SetLastError(0xdeadbeef); + ret = SetCurrentConsoleFontEx(pipe1, TRUE, &cfix); + ok(!ret, "got %d, expected 0\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_HANDLE, "got %u, expected 6\n", GetLastError()); + CloseHandle(pipe1); + CloseHandle(pipe2); + + SetLastError(0xdeadbeef); + ret = SetCurrentConsoleFontEx(std_input, FALSE, &cfix); + ok(!ret, "got %d, expected 0\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_HANDLE, "got %u, expected 6\n", GetLastError()); + + SetLastError(0xdeadbeef); + ret = SetCurrentConsoleFontEx(std_input, TRUE, &cfix); + ok(!ret, "got %d, expected 0\n", ret); + todo_wine ok(GetLastError() == ERROR_INVALID_HANDLE, "got %u, expected 6\n", GetLastError()); + + SetLastError(0xdeadbeef); + ret = SetCurrentConsoleFontEx(std_output, FALSE, &cfix); + todo_wine ok(ret, "got %d, expected non-zero\n", ret); + todo_wine ok(GetLastError() == 0xdeadbeef, "got %u, expected 0xdeadbeef\n", GetLastError()); + + SetLastError(0xdeadbeef); + ret = SetCurrentConsoleFontEx(std_output, TRUE, &cfix); + todo_wine ok(ret, "got %d, expected non-zero\n", ret); + todo_wine ok(GetLastError() == 0xdeadbeef, "got %u, expected 0xdeadbeef\n", GetLastError()); + + /* Restore original console font parameters */ + SetLastError(0xdeadbeef); + ret = SetCurrentConsoleFontEx(std_output, FALSE, &orig_cfix); + todo_wine ok(ret, "got %d, expected non-zero\n", ret); + todo_wine ok(GetLastError() == 0xdeadbeef, "got %u, expected 0xdeadbeef\n", GetLastError()); +} + static void test_GetConsoleFontSize(HANDLE std_output) { COORD c; @@ -4692,6 +4808,7 @@ START_TEST(console) { test_GetCurrentConsoleFont(hConOut); test_GetCurrentConsoleFontEx(hConOut); + test_SetCurrentConsoleFontEx(hConOut); test_GetConsoleFontSize(hConOut); test_GetLargestConsoleWindowSize(hConOut); test_GetConsoleFontInfo(hConOut);