Module: wine Branch: stable Commit: 017390a70e9cd8b1087adcb4142f7e39c3fa0678 URL: https://source.winehq.org/git/wine.git/?a=commit;h=017390a70e9cd8b1087adcb41...
Author: Louis Lenders xerox.xerox2000x@gmail.com Date: Sat Mar 31 11:24:53 2018 +0200
kernel32/tests: Add simple test for SetThreadUILanguage.
Signed-off-by: Louis Lenders xerox.xerox2000x@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org (cherry picked from commit 92fde7f35242206ce3e3d557cad00be237439132) Conflicts: dlls/kernel32/tests/locale.c Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
dlls/kernel32/tests/locale.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c index ce2f13b..f3b433e 100644 --- a/dlls/kernel32/tests/locale.c +++ b/dlls/kernel32/tests/locale.c @@ -103,6 +103,8 @@ static BOOL (WINAPI *pGetThreadPreferredUILanguages)(DWORD, ULONG*, WCHAR*, ULON static BOOL (WINAPI *pGetUserPreferredUILanguages)(DWORD, ULONG*, WCHAR*, ULONG*); static WCHAR (WINAPI *pRtlUpcaseUnicodeChar)(WCHAR); static INT (WINAPI *pGetNumberFormatEx)(LPCWSTR, DWORD, LPCWSTR, const NUMBERFMTW *, LPWSTR, int); +static LANGID (WINAPI *pSetThreadUILanguage)(LANGID); +static LANGID (WINAPI *pGetThreadUILanguage)(VOID);
static void InitFunctionPointers(void) { @@ -135,6 +137,8 @@ static void InitFunctionPointers(void) X(GetThreadPreferredUILanguages); X(GetUserPreferredUILanguages); X(GetNumberFormatEx); + X(SetThreadUILanguage); + X(GetThreadUILanguage);
mod = GetModuleHandleA("ntdll"); X(RtlUpcaseUnicodeChar); @@ -5329,6 +5333,28 @@ static void test_GetUserPreferredUILanguages(void) HeapFree(GetProcessHeap(), 0, buffer); }
+static void test_SetThreadUILanguage(void) +{ + LANGID res; + + if (!pGetThreadUILanguage) + { + win_skip("GetThreadUILanguage isn't implemented, skipping SetThreadUILanguage tests for version < Vista\n"); + return; /* BTW SetThreadUILanguage is present on winxp/2003 but doesn`t set the LANGID anyway when tested */ + } + + res = pSetThreadUILanguage(0); + todo_wine ok(res == pGetThreadUILanguage(), "expected %d got %d\n", pGetThreadUILanguage(), res); + + res = pSetThreadUILanguage(MAKELANGID(LANG_DUTCH, SUBLANG_DUTCH_BELGIAN)); + ok(res == MAKELANGID(LANG_DUTCH, SUBLANG_DUTCH_BELGIAN), + "expected %d got %d\n", MAKELANGID(LANG_DUTCH, SUBLANG_DUTCH_BELGIAN), res); + + res = pSetThreadUILanguage(0); + todo_wine ok(res == MAKELANGID(LANG_DUTCH, SUBLANG_DUTCH_BELGIAN), + "expected %d got %d\n", MAKELANGID(LANG_DUTCH, SUBLANG_DUTCH_BELGIAN), res); +} + START_TEST(locale) { InitFunctionPointers(); @@ -5375,6 +5401,7 @@ START_TEST(locale) test_GetSystemPreferredUILanguages(); test_GetThreadPreferredUILanguages(); test_GetUserPreferredUILanguages(); + test_SetThreadUILanguage(); /* this requires collation table patch to make it MS compatible */ if (0) test_sorting(); }