Santino Mazza : riched20/test: Add scrolling test for richole.

Alexandre Julliard julliard at winehq.org
Thu Jul 28 16:00:04 CDT 2022


Module: wine
Branch: master
Commit: 059c70d736baa164a1b246e949acd006cf83ab5a
URL:    https://gitlab.winehq.org/wine/wine/-/commit/059c70d736baa164a1b246e949acd006cf83ab5a

Author: Santino Mazza <mazzasantino1206 at gmail.com>
Date:   Mon Jul 25 19:08:52 2022 -0300

riched20/test: Add scrolling test for richole.

Signed-off-by: Santino Mazza <mazzasantino1206 at 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);




More information about the wine-cvs mailing list