Windows 11 uses a narrow non-breaking space instead of a plain one when formatting numbers. This is probably more correct and maybe Wine should switch too. But marking the old result as broken() would require unbundling expect_wstr() which would be bothersome.
So this commit just accepts both.
-- v3: kernel32/tests: Fix the French GetNumberFormatEx() test on Windows 11.
From: Francois Gouget fgouget@codeweavers.com
Windows 11 uses a narrow non-breaking space instead of a plain one when formatting numbers.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54583 --- Using a narrow non-breaking space is probably more correct and maybe Wine should switch too. But marking the old result as broken() would require unbundling expect_wstr() which would be bothersome. So this commit just accepts both. --- dlls/kernel32/tests/locale.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c index b2c581dc518..975aeb84868 100644 --- a/dlls/kernel32/tests/locale.c +++ b/dlls/kernel32/tests/locale.c @@ -1816,8 +1816,12 @@ static void test_GetNumberFormatEx(void) /* Test French formatting */ if (pIsValidLocaleName(frW)) { + const WCHAR *expected; ret = pGetNumberFormatEx(frW, NUO, L"-12345", NULL, buffer, ARRAY_SIZE(buffer)); - expect_wstr(ret, buffer, L"-12\xa0\x33\x34\x35,00"); /* Non breaking space */ + expected = (ret && wcschr(buffer, 0x202f)) ? + L"-12\x202f\x33\x34\x35,00" : /* Same but narrow (win11) */ + L"-12\xa0\x33\x34\x35,00"; /* Non breaking space */ + expect_wstr(ret, buffer, expected); } }
v3: Start the summary with "kernel32/tests" as is customary instead of "kernel32:locale", although the latter would be nicer (more informative) for test fixes imho.
The dinput:device8 failure is a preexisting issue (see bug 54594).