Skip to content
Snippets Groups Projects
Commit 90d934b5 authored by Brendan McGrath's avatar Brendan McGrath Committed by Alexandre Julliard
Browse files

user32/tests: Add tests for word breaks before punctuation.

Whilst uniscribe won't break on the space here (see LB13 of the Unicode
line breaking algorith), DrawText does
parent 12066a21
No related branches found
No related tags found
No related merge requests found
......@@ -45,6 +45,8 @@ static void test_DrawTextCalcRect(void)
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};
static WCHAR wordbreak_text_colonW[] = {'l','i','n','e','1',' ','l','i','n','e','2',' ',':',0};
static WCHAR wordbreak_text_csbW[] = {'l','i','n','e','1',' ','l','i','n','e','2',' ',']',0};
static char tabstring[] = "one\ttwo";
INT textlen, textheight, heightcheck;
RECT rect = { 0, 0, 100, 0 }, rect2;
......@@ -590,6 +592,36 @@ static void test_DrawTextCalcRect(void)
ok(textheight >= heightcheck * 6, "Got unexpected textheight %d, expected at least %d.\n",
textheight, heightcheck * 6);
/* Word break tests with space before punctuation */
SetRect(&rect, 0, 0, 200, 1);
textheight = DrawTextW(hdc, wordbreak_text_colonW, -1, &rect, DT_CALCRECT | DT_WORDBREAK);
ok(textheight == heightcheck, "Got unexpected textheight %d, expected %d.\n",
textheight, heightcheck);
rect2 = rect;
rect.right--;
textheight = DrawTextW(hdc, wordbreak_text_colonW, -1, &rect, DT_CALCRECT | DT_WORDBREAK);
ok(textheight == heightcheck * 2, "Got unexpected textheight %d, expected %d.\n",
textheight, heightcheck * 2);
todo_wine ok(rect.right > rect2.right - 10, "Got unexpected textwdith %ld, expected larger than %ld.\n",
rect.right, rect2.right - 10);
SetRect(&rect, 0, 0, 200, 1);
textheight = DrawTextW(hdc, wordbreak_text_csbW, -1, &rect, DT_CALCRECT | DT_WORDBREAK);
ok(textheight == heightcheck, "Got unexpected textheight %d, expected %d.\n",
textheight, heightcheck);
rect2 = rect;
rect.right--;
textheight = DrawTextW(hdc, wordbreak_text_csbW, -1, &rect, DT_CALCRECT | DT_WORDBREAK);
ok(textheight == heightcheck * 2, "Got unexpected textheight %d, expected %d.\n",
textheight, heightcheck * 2);
todo_wine ok(rect.right > rect2.right - 10, "Got unexpected textwdith %ld, expected larger than %ld.\n",
rect.right, rect2.right - 10);
/* DT_TABSTOP | DT_EXPANDTABS tests */
SetRect( &rect, 0,0, 10, 10);
textheight = DrawTextA(hdc, tabstring, -1, &rect, DT_TABSTOP | DT_EXPANDTABS );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment