From 3ac36cb50f881ce83804132a8dcb83e4909ffdb3 Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Sun, 23 Oct 2011 00:46:12 +0200 Subject: [PATCH] riched20/tests: Test format rect adaption to window size and behavior with zero-sized windows. --- dlls/riched20/tests/editor.c | 43 ++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/dlls/riched20/tests/editor.c b/dlls/riched20/tests/editor.c index d8eefbb7159..827f35dffe4 100644 --- a/dlls/riched20/tests/editor.c +++ b/dlls/riched20/tests/editor.c @@ -6364,6 +6364,49 @@ static void test_format_rect(void) rc.top, rc.left, rc.bottom, rc.right, expected.top, expected.left, expected.bottom, expected.right); + /* Reset to default rect and check how the format rect adjusts to window + * resize and how it copes with very small windows */ + SendMessageA(hwnd, EM_SETRECT, 0, (LPARAM)NULL); + + MoveWindow(hwnd, 0, 0, 100, 30, FALSE); + GetClientRect(hwnd, &clientRect); + + expected = clientRect; + expected.left += 1; + expected.right -= 1; + SendMessageA(hwnd, EM_GETRECT, 0, (LPARAM)&rc); + ok(rc.top == expected.top && rc.left == expected.left && + rc.bottom == expected.bottom && rc.right == expected.right, + "rect a(t=%d, l=%d, b=%d, r=%d) != e(t=%d, l=%d, b=%d, r=%d)\n", + rc.top, rc.left, rc.bottom, rc.right, + expected.top, expected.left, expected.bottom, expected.right); + + MoveWindow(hwnd, 0, 0, 0, 30, FALSE); + GetClientRect(hwnd, &clientRect); + + expected = clientRect; + expected.left += 1; + expected.right -= 1; + SendMessageA(hwnd, EM_GETRECT, 0, (LPARAM)&rc); + ok(rc.top == expected.top && rc.left == expected.left && + rc.bottom == expected.bottom && rc.right == expected.right, + "rect a(t=%d, l=%d, b=%d, r=%d) != e(t=%d, l=%d, b=%d, r=%d)\n", + rc.top, rc.left, rc.bottom, rc.right, + expected.top, expected.left, expected.bottom, expected.right); + + MoveWindow(hwnd, 0, 0, 100, 0, FALSE); + GetClientRect(hwnd, &clientRect); + + expected = clientRect; + expected.left += 1; + expected.right -= 1; + SendMessageA(hwnd, EM_GETRECT, 0, (LPARAM)&rc); + ok(rc.top == expected.top && rc.left == expected.left && + rc.bottom == expected.bottom && rc.right == expected.right, + "rect a(t=%d, l=%d, b=%d, r=%d) != e(t=%d, l=%d, b=%d, r=%d)\n", + rc.top, rc.left, rc.bottom, rc.right, + expected.top, expected.left, expected.bottom, expected.right); + DestroyWindow(hwnd); /* The extended window style affects the formatting rectangle. */