From 30049ba798ab9c758f6f7c0bfca22ef82c5b8366 Mon Sep 17 00:00:00 2001 From: Jactry Zeng Date: Tue, 22 Dec 2015 23:13:54 +0800 Subject: [PATCH] riched20/tests: Test EM_GETSELTEXT with multibyte character. Signed-off-by: Jactry Zeng Signed-off-by: Huw Davies Signed-off-by: Alexandre Julliard --- dlls/riched20/tests/editor.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/dlls/riched20/tests/editor.c b/dlls/riched20/tests/editor.c index dabe1042e79..bfd9ba5da43 100644 --- a/dlls/riched20/tests/editor.c +++ b/dlls/riched20/tests/editor.c @@ -1571,15 +1571,27 @@ static void test_EM_GETSELTEXT(void) SendMessageA(hwndRichEdit, EM_SETSEL, 4, 11); result = SendMessageA(hwndRichEdit, EM_GETSELTEXT, 0, (LPARAM)buffer); - ok(result == 7, "EM_GETTEXTRANGE returned %ld\n", result); - ok(!strcmp(expect, buffer), "EM_GETTEXTRANGE filled %s\n", buffer); + ok(result == 7, "EM_GETSELTEXT returned %ld\n", result); + ok(!strcmp(expect, buffer), "EM_GETSELTEXT filled %s\n", buffer); SendMessageA(hwndRichEdit, WM_SETTEXT, 0, (LPARAM)text2); SendMessageA(hwndRichEdit, EM_SETSEL, 4, 11); result = SendMessageA(hwndRichEdit, EM_GETSELTEXT, 0, (LPARAM)buffer); - ok(result == 7, "EM_GETTEXTRANGE returned %ld\n", result); - ok(!strcmp(expect, buffer), "EM_GETTEXTRANGE filled %s\n", buffer); + ok(result == 7, "EM_GETSELTEXT returned %ld\n", result); + ok(!strcmp(expect, buffer), "EM_GETSELTEXT filled %s\n", buffer); + + /* Test with multibyte character */ + if (!is_lang_japanese) + skip("Skip multibyte character tests on non-Japanese platform\n"); + else + { + SendMessageA(hwndRichEdit, WM_SETTEXT, 0, (LPARAM)"abcdef\x8e\xf0ghijk"); + SendMessageA(hwndRichEdit, EM_SETSEL, 4, 8); + result = SendMessageA(hwndRichEdit, EM_GETSELTEXT, 0, (LPARAM)buffer); + todo_wine ok(result == 5, "EM_GETSELTEXT returned %ld\n", result); + todo_wine ok(!strcmp("ef\x8e\xf0g", buffer), "EM_GETSELTEXT filled %s\n", buffer); + } DestroyWindow(hwndRichEdit); }