[PATCH] kernel32/tests: Fix some codepage test failures with Windows 10.
Zebediah Figura
z.figura12 at gmail.com
Sat Jan 4 10:32:54 CST 2020
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
It seems that Windows is finally moving towards UTF-8; a new configurable option
in Control Panel causes UTF-8 to be returned from this function for all locales.
dlls/kernel32/tests/codepage.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/dlls/kernel32/tests/codepage.c b/dlls/kernel32/tests/codepage.c
index 8fcc575a29e..bc172eacf3b 100644
--- a/dlls/kernel32/tests/codepage.c
+++ b/dlls/kernel32/tests/codepage.c
@@ -1057,7 +1057,7 @@ static void test_threadcp(void)
static const LCID JAPANESE = MAKELCID(MAKELANGID(LANG_JAPANESE, SUBLANG_JAPANESE_JAPAN), SORT_DEFAULT);
static const LCID CHINESE = MAKELCID(MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED), SORT_DEFAULT);
- BOOL islead, islead_acp;
+ BOOL islead, islead_default;
CPINFOEXA cpi;
UINT cp, acp;
int i, num;
@@ -1152,8 +1152,8 @@ static void test_threadcp(void)
ok(cpi.CodePage == lcids[i].threadcp, "wrong codepage %u for lcid %04x, should be %u\n",
cpi.CodePage, lcids[i].lcid, lcids[i].threadcp);
else
- ok(cpi.CodePage == acp, "wrong codepage %u for lcid %04x, should be %u\n",
- cpi.CodePage, lcids[i].lcid, acp);
+ ok(cpi.CodePage == acp || cpi.CodePage == CP_UTF8 /* Win10 1809+ */,
+ "wrong codepage %u for lcid %04x, should be %u\n", cpi.CodePage, lcids[i].lcid, acp);
/* WideCharToMultiByte - CP_THREAD_ACP */
num = WideCharToMultiByte(CP_THREAD_ACP, 0, foobarW, -1, NULL, 0, NULL, NULL);
@@ -1169,11 +1169,12 @@ static void test_threadcp(void)
{
SetThreadLocale(isleads_nocp[i].lcid);
- islead_acp = IsDBCSLeadByteEx(CP_ACP, isleads_nocp[i].testchar);
- islead = IsDBCSLeadByteEx(CP_THREAD_ACP, isleads_nocp[i].testchar);
+ GetCPInfoExA(CP_THREAD_ACP, 0, &cpi);
+ islead_default = IsDBCSLeadByteEx(cpi.CodePage, isleads_nocp[i].testchar);
+ islead = IsDBCSLeadByteEx(CP_THREAD_ACP, isleads_nocp[i].testchar);
- ok(islead == islead_acp, "wrong islead %i for test char %x in lcid %04x. should be %i\n",
- islead, isleads_nocp[i].testchar, isleads_nocp[i].lcid, islead_acp);
+ ok(islead == islead_default, "wrong islead %i for test char %x in lcid %04x. should be %i\n",
+ islead, isleads_nocp[i].testchar, isleads_nocp[i].lcid, islead_default);
}
/* IsDBCSLeadByteEx - locales with codepage */
--
2.24.1
More information about the wine-devel
mailing list