From: Hugh McMaster hugh.mcmaster@outlook.com
--- dlls/kernel32/tests/console.c | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-)
diff --git a/dlls/kernel32/tests/console.c b/dlls/kernel32/tests/console.c index f8e39c164d2..84d0e8ae84e 100644 --- a/dlls/kernel32/tests/console.c +++ b/dlls/kernel32/tests/console.c @@ -31,6 +31,8 @@ static void (WINAPI *pClosePseudoConsole)(HPCON); static HRESULT (WINAPI *pCreatePseudoConsole)(COORD,HANDLE,HANDLE,DWORD,HPCON*); static BOOL (WINAPI *pGetConsoleInputExeNameA)(DWORD, LPSTR); +static DWORD (WINAPI *pGetConsoleOriginalTitleA)(LPSTR, DWORD); +static DWORD (WINAPI *pGetConsoleOriginalTitleW)(LPWSTR, DWORD); static DWORD (WINAPI *pGetConsoleProcessList)(LPDWORD, DWORD); static HANDLE (WINAPI *pOpenConsoleW)(LPCWSTR,DWORD,BOOL,DWORD); static BOOL (WINAPI *pSetConsoleInputExeNameA)(LPCSTR); @@ -77,6 +79,8 @@ static void init_function_pointers(void) KERNEL32_GET_PROC(ClosePseudoConsole); KERNEL32_GET_PROC(CreatePseudoConsole); KERNEL32_GET_PROC(GetConsoleInputExeNameA); + KERNEL32_GET_PROC(GetConsoleOriginalTitleA); + KERNEL32_GET_PROC(GetConsoleOriginalTitleW); KERNEL32_GET_PROC(GetConsoleProcessList); KERNEL32_GET_PROC(OpenConsoleW); KERNEL32_GET_PROC(SetConsoleInputExeNameA); @@ -4231,20 +4235,26 @@ static void test_GetConsoleOriginalTitleA(void) DWORD ret; char title[] = "Original Console Title";
- ret = GetConsoleOriginalTitleA(NULL, 0); + if (!pGetConsoleOriginalTitleA) + { + win_skip("GetConsoleOriginalTitleA not available.\n"); + return; + } + + ret = pGetConsoleOriginalTitleA(NULL, 0); ok(!ret, "Unexpected string length; error %lu\n", GetLastError());
- ret = GetConsoleOriginalTitleA(buf, 0); + ret = pGetConsoleOriginalTitleA(buf, 0); ok(!ret, "Unexpected string length; error %lu\n", GetLastError());
- ret = GetConsoleOriginalTitleA(buf, ARRAY_SIZE(buf)); + ret = pGetConsoleOriginalTitleA(buf, ARRAY_SIZE(buf)); todo_wine ok(ret, "GetConsoleOriginalTitleA failed: %lu\n", GetLastError()); todo_wine ok(!strcmp(buf, title), "got %s, expected %s\n", wine_dbgstr_a(buf), wine_dbgstr_a(title));
ret = SetConsoleTitleA("test"); ok(ret, "SetConsoleTitleA failed: %lu\n", GetLastError());
- ret = GetConsoleOriginalTitleA(buf, ARRAY_SIZE(buf)); + ret = pGetConsoleOriginalTitleA(buf, ARRAY_SIZE(buf)); todo_wine ok(ret, "GetConsoleOriginalTitleA failed: %lu\n", GetLastError()); todo_wine ok(!strcmp(buf, title), "got %s, expected %s\n", wine_dbgstr_a(buf), wine_dbgstr_a(title)); } @@ -4255,13 +4265,19 @@ static void test_GetConsoleOriginalTitleW(void) DWORD ret; WCHAR title[] = L"Original Console Title";
- ret = GetConsoleOriginalTitleW(NULL, 0); + if (!pGetConsoleOriginalTitleW) + { + win_skip("GetConsoleOriginalTitleW not available.\n"); + return; + } + + ret = pGetConsoleOriginalTitleW(NULL, 0); ok(!ret, "Unexpected string length; error %lu\n", GetLastError());
- ret = GetConsoleOriginalTitleW(buf, 0); + ret = pGetConsoleOriginalTitleW(buf, 0); ok(!ret, "Unexpected string length; error %lu\n", GetLastError());
- ret = GetConsoleOriginalTitleW(buf, ARRAY_SIZE(buf)); + ret = pGetConsoleOriginalTitleW(buf, ARRAY_SIZE(buf)); todo_wine ok(ret, "GetConsoleOriginalTitleW failed: %lu\n", GetLastError()); buf[ret] = 0; todo_wine ok(!wcscmp(buf, title), "got %s, expected %s\n", wine_dbgstr_w(buf), wine_dbgstr_w(title)); @@ -4269,11 +4285,11 @@ static void test_GetConsoleOriginalTitleW(void) ret = SetConsoleTitleW(L"test"); ok(ret, "SetConsoleTitleW failed: %lu\n", GetLastError());
- ret = GetConsoleOriginalTitleW(buf, ARRAY_SIZE(buf)); + ret = pGetConsoleOriginalTitleW(buf, ARRAY_SIZE(buf)); todo_wine ok(ret, "GetConsoleOriginalTitleW failed: %lu\n", GetLastError()); todo_wine ok(!wcscmp(buf, title), "got %s, expected %s\n", wine_dbgstr_w(buf), wine_dbgstr_w(title));
- ret = GetConsoleOriginalTitleW(buf, 5); + ret = pGetConsoleOriginalTitleW(buf, 5); todo_wine ok(ret, "GetConsoleOriginalTitleW failed: %lu\n", GetLastError()); todo_wine ok(!wcscmp(buf, L"Orig"), "got %s, expected 'Orig'\n", wine_dbgstr_w(buf)); }