From: Hugh McMaster hugh.mcmaster@outlook.com
--- dlls/kernel32/tests/console.c | 84 +++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+)
diff --git a/dlls/kernel32/tests/console.c b/dlls/kernel32/tests/console.c index c145aa4cb59..4adcf775a44 100644 --- a/dlls/kernel32/tests/console.c +++ b/dlls/kernel32/tests/console.c @@ -4230,6 +4230,85 @@ static void test_SetConsoleScreenBufferInfoEx(HANDLE std_output) CloseHandle(std_input); }
+static void test_GetConsoleOriginalTitleA(void) +{ + char orig[64], buf[64]; + DWORD ret, len; + + ret = GetConsoleOriginalTitleA(NULL, 0); + ok(!ret, "Unexpected string length; error %lu\n", GetLastError()); + + ret = GetConsoleOriginalTitleA(buf, 0); + ok(!ret, "Unexpected string length; error %lu\n", GetLastError()); + + memset(orig, 0, sizeof(orig)); + memset(buf, 0, sizeof(buf)); + + ret = GetConsoleOriginalTitleA(orig, ARRAY_SIZE(orig)); + todo_wine ok(ret, "GetConsoleOriginalTitleA failed: %lu\n", GetLastError()); + + len = ret; + + ret = SetConsoleTitleA("test"); + ok(ret, "SetConsoleTitleA failed: %lu\n", GetLastError()); + + ret = GetConsoleOriginalTitleA(buf, ARRAY_SIZE(buf)); + todo_wine ok(ret, "GetConsoleOriginalTitleA failed: %lu\n", GetLastError()); + ok(ret == len, "Title length mismatch; got %lu, expected %lu\n", ret, len); + ok(!strcmp(buf, orig), "got %s, expected %s\n", wine_dbgstr_a(buf), wine_dbgstr_a(orig)); + + ret = SetConsoleTitleA(""); + ok(ret, "SetConsoleTitleA failed: %lu\n", GetLastError()); + + ret = GetConsoleOriginalTitleA(buf, ARRAY_SIZE(buf)); + todo_wine ok(ret, "GetConsoleOriginalTitleA failed: %lu\n", GetLastError()); + ok(ret == len, "Title length mismatch; got %lu, expected %lu\n", ret, len); + ok(!strcmp(buf, orig), "got %s, expected %s\n", wine_dbgstr_a(buf), wine_dbgstr_a(orig)); +} + +static void test_GetConsoleOriginalTitleW(void) +{ + WCHAR orig[64], buf[64]; + DWORD ret, len; + + ret = GetConsoleOriginalTitleW(NULL, 0); + ok(!ret, "Unexpected string length; error %lu\n", GetLastError()); + + ret = GetConsoleOriginalTitleW(buf, 0); + ok(!ret, "Unexpected string length; error %lu\n", GetLastError()); + + memset(orig, 0, sizeof(orig)); + memset(buf, 0, sizeof(buf)); + + ret = GetConsoleOriginalTitleW(orig, ARRAY_SIZE(orig)); + todo_wine ok(ret, "GetConsoleOriginalTitleW failed: %lu\n", GetLastError()); + + len = ret; + + ret = SetConsoleTitleW(L"test"); + ok(ret, "SetConsoleTitleW failed: %lu\n", GetLastError()); + + ret = GetConsoleOriginalTitleW(buf, ARRAY_SIZE(buf)); + todo_wine ok(ret, "GetConsoleOriginalTitleW failed: %lu\n", GetLastError()); + ok(ret == len, "Title length mismatch; got %lu, expected %lu\n", ret, len); + ok(!wcscmp(buf, orig), "got %s, expected %s\n", wine_dbgstr_w(buf), wine_dbgstr_w(orig)); + + ret = SetConsoleTitleW(L""); + ok(ret, "SetConsoleTitleW failed: %lu\n", GetLastError()); + + ret = GetConsoleOriginalTitleW(buf, ARRAY_SIZE(buf)); + todo_wine ok(ret, "GetConsoleOriginalTitleW failed: %lu\n", GetLastError()); + ok(ret == len, "Title length mismatch; got %lu, expected %lu\n", ret, len); + ok(!wcscmp(buf, orig), "got %s, expected %s\n", wine_dbgstr_w(buf), wine_dbgstr_w(orig)); + + orig[3] = 0; + + ret = GetConsoleOriginalTitleW(buf, 4); + todo_wine ok(ret, "GetConsoleOriginalTitleW failed: %lu\n", GetLastError()); + ok(ret == len, "Title length mismatch; got %lu, expected %lu\n", ret, len); + ok(!wcscmp(buf, orig), "got %s, expected %s\n", wine_dbgstr_w(buf), wine_dbgstr_w(orig)); +} + static void test_GetConsoleTitleA(void) { char buf[64], str[] = "test"; @@ -4622,8 +4701,11 @@ static void test_pseudo_console_child(HANDLE input, HANDLE output) hwnd = GetConsoleWindow(); ok(IsWindow(hwnd), "no console window\n");
+ test_GetConsoleOriginalTitleA(); + test_GetConsoleOriginalTitleW(); test_GetConsoleTitleA(); test_GetConsoleTitleW(); + test_WriteConsoleInputW(input); }
@@ -5056,6 +5138,8 @@ START_TEST(console) test_GetConsoleScreenBufferInfoEx(hConOut); test_SetConsoleScreenBufferInfoEx(hConOut); test_file_info(hConIn, hConOut); + test_GetConsoleOriginalTitleA(); + test_GetConsoleOriginalTitleW(); test_GetConsoleTitleA(); test_GetConsoleTitleW(); if (!test_current)