Santino Mazza : riched20/test: Add scrolling test for richole.
Module: wine Branch: master Commit: 059c70d736baa164a1b246e949acd006cf83ab5a URL: https://gitlab.winehq.org/wine/wine/-/commit/059c70d736baa164a1b246e949acd00... Author: Santino Mazza <mazzasantino1206(a)gmail.com> Date: Mon Jul 25 19:08:52 2022 -0300 riched20/test: Add scrolling test for richole. Signed-off-by: Santino Mazza <mazzasantino1206(a)gmail.com> --- dlls/riched20/tests/richole.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/dlls/riched20/tests/richole.c b/dlls/riched20/tests/richole.c index 1ebc12a27ab..d648354729e 100644 --- a/dlls/riched20/tests/richole.c +++ b/dlls/riched20/tests/richole.c @@ -3579,13 +3579,25 @@ static void test_ITextRange_IsEqual(void) ITextSelection_Release(selection); } +static int get_scroll_pos_y(HWND hwnd) +{ + POINT p = {-1, -1}; + SendMessageA(hwnd, EM_GETSCROLLPOS, 0, (LPARAM)&p); + ok(p.x != -1 && p.y != -1, "p.x:%ld p.y:%ld\n", p.x, p.y); + return p.y; +} + static void test_Select(void) { static const CHAR test_text1[] = "TestSomeText"; + static const CHAR test_text2[] = "text\nwith\nbreak\n" + "lines\ntest\ntest\n"; IRichEditOle *reOle = NULL; ITextDocument *doc = NULL; ITextSelection *selection; ITextRange *range; + int scroll_pos1; + int scroll_pos2; LONG value; HRESULT hr; HWND hwnd; @@ -3597,8 +3609,11 @@ static void test_Select(void) hr = ITextDocument_Range(doc, 0, 4, &range); ok(hr == S_OK, "got 0x%08lx\n", hr); + scroll_pos1 = get_scroll_pos_y(hwnd); hr = ITextRange_Select(range); ok(hr == S_OK, "got 0x%08lx\n", hr); + scroll_pos2 = get_scroll_pos_y(hwnd); + ok(scroll_pos1 == scroll_pos2, "%d != %d\n", scroll_pos1, scroll_pos2); value = 1; hr = ITextSelection_GetStart(selection, &value); @@ -3611,6 +3626,16 @@ static void test_Select(void) hr = ITextSelection_Select(selection); ok(hr == S_OK, "got 0x%08lx\n", hr); + SendMessageA(hwnd, WM_SETTEXT, 0, (LPARAM)test_text2); + SendMessageA(hwnd, EM_SETSEL, 1, 2); + hr = ITextDocument_Range(doc, 10, 16, &range); + ok(hr == S_OK, "got 0x%08lx\n", hr); + scroll_pos1 = get_scroll_pos_y(hwnd); + hr = ITextRange_Select(range); + ok(hr == S_OK, "got 0x%08lx\n", hr); + scroll_pos2 = get_scroll_pos_y(hwnd); + ok(scroll_pos1 != scroll_pos2, "%d == %d\n", scroll_pos1, scroll_pos2); + release_interfaces(&hwnd, &reOle, &doc, NULL); hr = ITextRange_Select(range);
participants (1)
-
Alexandre Julliard