Module: wine Branch: master Commit: 7365f557b6bc792efb4f73523c318cfce0625092 URL: http://source.winehq.org/git/wine.git/?a=commit;h=7365f557b6bc792efb4f73523c...
Author: Jactry Zeng jzeng@codeweavers.com Date: Fri Nov 27 16:44:20 2015 +0800
riched20/tests: Test EM_REPLACESEL with rtf stream.
Signed-off-by: Jactry Zeng jzeng@codeweavers.com Signed-off-by: Huw Davies huw@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/riched20/tests/editor.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+)
diff --git a/dlls/riched20/tests/editor.c b/dlls/riched20/tests/editor.c index 31af4b2..46d93aa 100644 --- a/dlls/riched20/tests/editor.c +++ b/dlls/riched20/tests/editor.c @@ -4561,6 +4561,8 @@ static void test_EM_REPLACESEL(int redraw) int r; GETTEXTEX getText; CHARRANGE cr; + CHAR rtfstream[] = "{\rtf1 TestSomeText}"; + CHAR urtfstream[] = "{\urtf1 TestSomeText}";
/* sending some text to the window */ SendMessageA(hwndRichEdit, WM_SETTEXT, 0, (LPARAM)"testing selection"); @@ -4833,6 +4835,48 @@ static void test_EM_REPLACESEL(int redraw) r = SendMessageA(hwndRichEdit, EM_GETLINECOUNT, 0, 0); ok(r == 7, "EM_GETLINECOUNT returned %d, expected 7\n", r);
+ SendMessageA(hwndRichEdit, WM_SETTEXT, 0, 0); + r = SendMessageA(hwndRichEdit, EM_REPLACESEL, 0, (LPARAM)rtfstream); + todo_wine ok(r == 12, "EM_REPLACESEL returned %d, expected 12\n", r); + r = SendMessageA(hwndRichEdit, EM_EXGETSEL, 0, (LPARAM)&cr); + ok(0 == r, "EM_EXGETSEL returned %d, expected 0\n", r); + todo_wine ok(cr.cpMin == 12, "EM_EXGETSEL returned cpMin=%d, expected 12\n", cr.cpMin); + todo_wine ok(cr.cpMax == 12, "EM_EXGETSEL returned cpMax=%d, expected 12\n", cr.cpMax); + SendMessageA(hwndRichEdit, WM_GETTEXT, 1024, (LPARAM)buffer); + todo_wine ok(!strcmp(buffer, "TestSomeText"), "WM_GETTEXT returned incorrect string\n"); + + SendMessageA(hwndRichEdit, WM_SETTEXT, 0, 0); + r = SendMessageA(hwndRichEdit, EM_REPLACESEL, 0, (LPARAM)urtfstream); + todo_wine ok(r == 12, "EM_REPLACESEL returned %d, expected 12\n", r); + r = SendMessageA(hwndRichEdit, EM_EXGETSEL, 0, (LPARAM)&cr); + ok(0 == r, "EM_EXGETSEL returned %d, expected 0\n", r); + todo_wine ok(cr.cpMin == 12, "EM_EXGETSEL returned cpMin=%d, expected 12\n", cr.cpMin); + todo_wine ok(cr.cpMax == 12, "EM_EXGETSEL returned cpMax=%d, expected 12\n", cr.cpMax); + SendMessageA(hwndRichEdit, WM_GETTEXT, 1024, (LPARAM)buffer); + todo_wine ok(!strcmp(buffer, "TestSomeText"), "WM_GETTEXT returned incorrect string\n"); + + SendMessageA(hwndRichEdit, WM_SETTEXT, 0, (LPARAM)"Wine"); + SendMessageA(hwndRichEdit, EM_SETSEL, 1, 2); + todo_wine r = SendMessageA(hwndRichEdit, EM_REPLACESEL, 0, (LPARAM)rtfstream); + todo_wine ok(r == 12, "EM_REPLACESEL returned %d, expected 12\n", r); + r = SendMessageA(hwndRichEdit, EM_EXGETSEL, 0, (LPARAM)&cr); + ok(0 == r, "EM_EXGETSEL returned %d, expected 0\n", r); + todo_wine ok(cr.cpMin == 13, "EM_EXGETSEL returned cpMin=%d, expected 13\n", cr.cpMin); + todo_wine ok(cr.cpMax == 13, "EM_EXGETSEL returned cpMax=%d, expected 13\n", cr.cpMax); + SendMessageA(hwndRichEdit, WM_GETTEXT, 1024, (LPARAM)buffer); + todo_wine ok(!strcmp(buffer, "WTestSomeTextne"), "WM_GETTEXT returned incorrect string\n"); + + SendMessageA(hwndRichEdit, WM_SETTEXT, 0, (LPARAM)"{\rtf1 Wine}"); + SendMessageA(hwndRichEdit, EM_SETSEL, 1, 2); + todo_wine r = SendMessageA(hwndRichEdit, EM_REPLACESEL, 0, (LPARAM)rtfstream); + todo_wine ok(r == 12, "EM_REPLACESEL returned %d, expected 12\n", r); + r = SendMessageA(hwndRichEdit, EM_EXGETSEL, 0, (LPARAM)&cr); + ok(0 == r, "EM_EXGETSEL returned %d, expected 0\n", r); + todo_wine ok(cr.cpMin == 13, "EM_EXGETSEL returned cpMin=%d, expected 13\n", cr.cpMin); + todo_wine ok(cr.cpMax == 13, "EM_EXGETSEL returned cpMax=%d, expected 13\n", cr.cpMax); + SendMessageA(hwndRichEdit, WM_GETTEXT, 1024, (LPARAM)buffer); + todo_wine ok(!strcmp(buffer, "WTestSomeTextne"), "WM_GETTEXT returned incorrect string\n"); + if (!redraw) /* This is needed to avoid interferring with keybd_event calls * on other tests that simulate keyboard events. */