From 4498725892b1f7d99bc6fe3a74fc74db369c210a Mon Sep 17 00:00:00 2001 From: James Tabor Date: Thu, 13 Mar 2014 01:39:31 +0000 Subject: [PATCH] [User32Test] - Patch by Henri Verbeet : Fix TEXT_WordBreak() when no characters fit. - Update text to wine head. svn path=/trunk/; revision=62487 --- rostests/winetests/user32/text.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/rostests/winetests/user32/text.c b/rostests/winetests/user32/text.c index 217baab89b1..19bcd72abbe 100755 --- a/rostests/winetests/user32/text.c +++ b/rostests/winetests/user32/text.c @@ -42,6 +42,8 @@ static void test_DrawTextCalcRect(void) 's','t','r','i','n','g','\0'}; static CHAR emptystring[] = ""; static WCHAR emptystringW[] = { 0 }; + static CHAR wordbreak_text[] = "line1 line2"; + static WCHAR wordbreak_textW[] = {'l','i','n','e','1',' ','l','i','n','e','2',0}; INT textlen, textheight, heightcheck; RECT rect = { 0, 0, 100, 0 }; BOOL ret; @@ -556,6 +558,20 @@ static void test_DrawTextCalcRect(void) ok(rect.bottom, "rect.bottom should not be 0\n"); } + SetRect(&rect, 0, 0, 1, 1); + heightcheck = DrawTextA(hdc, wordbreak_text, -1, &rect, DT_CALCRECT); + SetRect(&rect, 0, 0, 1, 1); + textheight = DrawTextA(hdc, wordbreak_text, -1, &rect, DT_CALCRECT | DT_WORDBREAK); + ok(textheight == heightcheck * 2, "Got unexpected textheight %d, expected %d.\n", + textheight, heightcheck * 2); + + SetRect(&rect, 0, 0, 1, 1); + heightcheck = DrawTextW(hdc, wordbreak_textW, -1, &rect, DT_CALCRECT); + SetRect(&rect, 0, 0, 1, 1); + textheight = DrawTextW(hdc, wordbreak_textW, -1, &rect, DT_CALCRECT | DT_WORDBREAK); + ok(textheight == heightcheck * 2, "Got unexpected textheight %d, expected %d.\n", + textheight, heightcheck * 2); + SelectObject(hdc, hOldFont); ret = DeleteObject(hFont); ok( ret, "DeleteObject error %u\n", GetLastError());