From: Akihiro Sagawa Subject: [PATCH 1/2] kernel32/tests: Add more LCMapString tests. Message-Id: <20180712232830.4101.375B48EC@gmail.com> Date: Thu, 12 Jul 2018 23:30:28 +0900 Especially combined with LCMAP_HALFWIDTH and LCMAP_UPPERCASE. Signed-off-by: Akihiro Sagawa --- 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));