user32: Add a simple DrawState test, make it pass under Wine.
This commit is contained in:
parent
d06ff0ea69
commit
f097da9f83
|
@ -2,6 +2,7 @@
|
|||
* DrawText tests
|
||||
*
|
||||
* Copyright (c) 2004 Zach Gorman
|
||||
* Copyright 2007 Dmitry Timoshkov
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -243,11 +244,53 @@ static void test_TabbedText(void)
|
|||
}
|
||||
}
|
||||
|
||||
ReleaseDC( hwnd, hdc );
|
||||
DestroyWindow( hwnd );
|
||||
}
|
||||
|
||||
static void test_DrawState(void)
|
||||
{
|
||||
static const char text[] = "Sample text string";
|
||||
HWND hwnd;
|
||||
HDC hdc;
|
||||
BOOL ret;
|
||||
|
||||
hwnd = CreateWindowExA(0, "static", NULL, WS_POPUP,
|
||||
0, 0, 200, 200, 0, 0, 0, NULL);
|
||||
assert(hwnd);
|
||||
|
||||
hdc = GetDC(hwnd);
|
||||
assert(hdc);
|
||||
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = DrawState(hdc, GetStockObject(DKGRAY_BRUSH), NULL, (LPARAM)text, strlen(text),
|
||||
0, 0, 10, 10, DST_TEXT);
|
||||
ok(ret, "DrawState error %u\n", GetLastError());
|
||||
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = DrawState(hdc, GetStockObject(DKGRAY_BRUSH), NULL, (LPARAM)text, 0,
|
||||
0, 0, 10, 10, DST_TEXT);
|
||||
ok(ret, "DrawState error %u\n", GetLastError());
|
||||
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = DrawState(hdc, GetStockObject(DKGRAY_BRUSH), NULL, 0, strlen(text),
|
||||
0, 0, 10, 10, DST_TEXT);
|
||||
ok(!ret, "DrawState succeeded\n");
|
||||
ok(GetLastError() == 0xdeadbeef, "not expected error %u\n", GetLastError());
|
||||
|
||||
SetLastError(0xdeadbeef);
|
||||
ret = DrawState(hdc, GetStockObject(DKGRAY_BRUSH), NULL, 0, 0,
|
||||
0, 0, 10, 10, DST_TEXT);
|
||||
ok(!ret, "DrawState succeeded\n");
|
||||
ok(GetLastError() == 0xdeadbeef, "not expected error %u\n", GetLastError());
|
||||
|
||||
ReleaseDC(hwnd, hdc);
|
||||
DestroyWindow(hwnd);
|
||||
}
|
||||
|
||||
START_TEST(text)
|
||||
{
|
||||
test_TabbedText();
|
||||
test_DrawTextCalcRect();
|
||||
test_DrawState();
|
||||
}
|
||||
|
|
|
@ -1587,6 +1587,8 @@ static BOOL UITOOLS_DrawState(HDC hdc, HBRUSH hbr, DRAWSTATEPROC func, LPARAM lp
|
|||
|
||||
if((opcode == DST_TEXT || opcode == DST_PREFIXTEXT) && !len) /* The string is '\0' terminated */
|
||||
{
|
||||
if (!lp) return FALSE;
|
||||
|
||||
if(unicode)
|
||||
len = strlenW((LPWSTR)lp);
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue