Jeffrey Smith (@whydoubt) commented about dlls/mlang/tests/linebreakconsole.c:
+ +static void test_BreakLineA(IMLangLineBreakConsole *mlbc) +{ + LCID locale = 1024; + UINT uCodePage; + CHAR *pszSrc = malloc(100); + LONG cchMax = 20; + LONG cMaxColumns; + LONG cchLine, cchSkip; + HRESULT res; + + cMaxColumns = 10; + uCodePage = CP_UNICODE; + strcpy(pszSrc, "چrińg Wi†h Póliśh ćharacterś"); + res = IMLangLineBreakConsole_BreakLineA(mlbc, locale, uCodePage, pszSrc, cchMax, cMaxColumns, &cchLine, &cchSkip); + todo_wine ok(res == E_FAIL, "got %08lx\n", res); Cannot tell from this test whether it fails simply from passing CP_UNICODE, or from passing CP_UNICODE _and_ passing a string containing multi-byte characters.
A CP_UNICODE with 7-bit ASCII string test would be good. If it fails, replace the current test with that. If it succeeds, having both tests will show that the multi-byte characters made the difference. Note that the CP_USASCII tests do not help answer this, as I expect they would not interpret the string as containing multi-byte characters. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3629#note_43052