Module: wine Branch: master Commit: ef2df8ed3681a55a66382164227f8a5a1ae4bf51 URL: https://source.winehq.org/git/wine.git/?a=commit;h=ef2df8ed3681a55a663821642...
Author: Akihiro Sagawa sagawa.aki@gmail.com Date: Thu Jul 12 23:30:28 2018 +0900
kernel32/tests: Add more LCMapString tests.
Especially combined with LCMAP_HALFWIDTH and LCMAP_UPPERCASE.
Signed-off-by: Akihiro Sagawa sagawa.aki@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/kernel32/tests/locale.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)
diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c index 06a7aa7..e48bc7a 100644 --- a/dlls/kernel32/tests/locale.c +++ b/dlls/kernel32/tests/locale.c @@ -2509,6 +2509,27 @@ static void test_lcmapstring_unicode(lcmapstring_wrapper func_ptr, const char *f ok(!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER, "%s should return 0 and ERROR_INSUFFICIENT_BUFFER, got %d\n", func_name, ret);
+ buf[0] = 'a'; + buf[1] = 0x30ac; + ret = func_ptr(LCMAP_HALFWIDTH | LCMAP_UPPERCASE, buf, 2, buf2, 0); + ok(ret == 3, "%s ret %d, expected value 3\n", func_name, ret); + + SetLastError(0xdeadbeef); + ret = func_ptr(LCMAP_HALFWIDTH | LCMAP_UPPERCASE, buf, 2, buf2, 1); + todo_wine ok(!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER, + "%s should return 0 and ERROR_INSUFFICIENT_BUFFER, got %d\n", func_name, ret); + + SetLastError(0xdeadbeef); + ret = func_ptr(LCMAP_HALFWIDTH | LCMAP_UPPERCASE, buf, 2, buf2, 2); + ok(!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER, + "%s should return 0 and ERROR_INSUFFICIENT_BUFFER, got %d\n", func_name, ret); + + ret = func_ptr(LCMAP_HALFWIDTH | LCMAP_UPPERCASE, buf, 2, buf2, 3); + todo_wine ok(ret == 3, "%s ret %d, expected value 3\n", func_name, ret); + + ret = func_ptr(LCMAP_HALFWIDTH | LCMAP_UPPERCASE, buf, 2, buf2, 4); + ok(ret == 3, "%s ret %d, expected value 3\n", func_name, ret); + /* LCMAP_UPPERCASE or LCMAP_LOWERCASE should accept src == dst */ lstrcpyW(buf, lower_case); ret = func_ptr(LCMAP_UPPERCASE, buf, -1, buf, ARRAY_SIZE(buf));