user32/tests: Test extra value of standard dialog and edit classes.

This commit is contained in:
Julius Schwartzenberg 2009-10-11 15:32:15 +02:00 committed by Alexandre Julliard
parent 8e899e0076
commit 9f548bd9b8
1 changed files with 32 additions and 0 deletions

View File

@ -831,10 +831,42 @@ static void CreateDialogParamTest(HINSTANCE hInstance)
} }
} }
static const struct
{
const char name[9];
int value;
int badvalue;
} extra_values[] =
{
{"#32770",30,30}, /* Dialog */
#ifdef _WIN64
{"Edit",8,8},
#else
{"Edit",6,8}, /* Windows XP 64-bit returns 8 also to 32-bit applications */
#endif
};
static void test_extra_values(void)
{
int i;
for(i=0; i< sizeof(extra_values)/sizeof(extra_values[0]); i++)
{
WNDCLASSEX wcx;
BOOL ret = GetClassInfoEx(NULL,extra_values[i].name,&wcx);
ok( ret, "GetClassInfo (0) failed for global class %s\n", extra_values[i].name);
if (!ret) continue;
ok(extra_values[i].value == wcx.cbWndExtra || broken(extra_values[i].badvalue == wcx.cbWndExtra),
"expected %d, got %d\n", extra_values[i].value, wcx.cbWndExtra);
}
}
START_TEST(class) START_TEST(class)
{ {
HANDLE hInstance = GetModuleHandleA( NULL ); HANDLE hInstance = GetModuleHandleA( NULL );
test_extra_values();
if (!GetModuleHandleW(0)) if (!GetModuleHandleW(0))
{ {
trace("Class test is incompatible with Win9x implementation, skipping\n"); trace("Class test is incompatible with Win9x implementation, skipping\n");