Alexandre Julliard : user32/tests: Fix some test failures on XP.
Alexandre Julliard
julliard at winehq.org
Wed Sep 17 07:15:23 CDT 2008
Module: wine
Branch: master
Commit: 343d2420fc0ca30d2880ed4f4e418908eeb80aa3
URL: http://source.winehq.org/git/wine.git/?a=commit;h=343d2420fc0ca30d2880ed4f4e418908eeb80aa3
Author: Alexandre Julliard <julliard at winehq.org>
Date: Wed Sep 17 14:05:06 2008 +0200
user32/tests: Fix some test failures on XP.
---
dlls/user32/tests/win.c | 32 ++++++++++++++++++--------------
1 files changed, 18 insertions(+), 14 deletions(-)
diff --git a/dlls/user32/tests/win.c b/dlls/user32/tests/win.c
index 407becd..3954b07 100644
--- a/dlls/user32/tests/win.c
+++ b/dlls/user32/tests/win.c
@@ -3906,7 +3906,7 @@ static LRESULT CALLBACK minmax_wnd_proc(HWND hwnd, UINT msg, WPARAM wp, LPARAM l
}
static int expected_cx, expected_cy;
-static RECT expected_rect;
+static RECT expected_rect, broken_rect;
static LRESULT CALLBACK winsizes_wnd_proc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp)
{
@@ -3930,8 +3930,10 @@ static LRESULT CALLBACK winsizes_wnd_proc(HWND hwnd, UINT msg, WPARAM wp, LPARAM
hwnd, msg, cs->cx, cs->cy, rect.left, rect.top, rect.right, rect.bottom );
ok( cs->cx == expected_cx, "wrong x size %d/%d\n", cs->cx, expected_cx );
ok( cs->cy == expected_cy, "wrong y size %d/%d\n", cs->cy, expected_cy );
- ok( rect.right - rect.left == expected_rect.right - expected_rect.left &&
- rect.bottom - rect.top == expected_rect.bottom - expected_rect.top,
+ ok( (rect.right - rect.left == expected_rect.right - expected_rect.left &&
+ rect.bottom - rect.top == expected_rect.bottom - expected_rect.top) ||
+ broken( rect.right - rect.left == broken_rect.right - broken_rect.left &&
+ rect.bottom - rect.top == broken_rect.bottom - broken_rect.top),
"wrong rect %d,%d-%d,%d / %d,%d-%d,%d\n",
rect.left, rect.top, rect.right, rect.bottom,
expected_rect.left, expected_rect.top, expected_rect.right, expected_rect.bottom );
@@ -4212,6 +4214,7 @@ static void test_CreateWindow(void)
expected_cx = expected_cy = 200000;
SetRect( &expected_rect, 0, 0, 200000, 200000 );
+ broken_rect = expected_rect;
hwnd = CreateWindowExA(0, "Sizes_WndClass", NULL, WS_CHILD, 300000, 300000, 200000, 200000, parent, 0, 0, NULL);
ok( hwnd != 0, "creation failed err %u\n", GetLastError());
GetClientRect( hwnd, &rc );
@@ -4221,6 +4224,7 @@ static void test_CreateWindow(void)
expected_cx = expected_cy = -10;
SetRect( &expected_rect, 0, 0, 0, 0 );
+ broken_rect = expected_rect;
hwnd = CreateWindowExA(0, "Sizes_WndClass", NULL, WS_CHILD, -20, -20, -10, -10, parent, 0, 0, NULL);
ok( hwnd != 0, "creation failed err %u\n", GetLastError());
GetClientRect( hwnd, &rc );
@@ -4230,6 +4234,7 @@ static void test_CreateWindow(void)
expected_cx = expected_cy = -200000;
SetRect( &expected_rect, 0, 0, 0, 0 );
+ broken_rect = expected_rect;
hwnd = CreateWindowExA(0, "Sizes_WndClass", NULL, WS_CHILD, -300000, -300000, -200000, -200000, parent, 0, 0, NULL);
ok( hwnd != 0, "creation failed err %u\n", GetLastError());
GetClientRect( hwnd, &rc );
@@ -4245,21 +4250,23 @@ static void test_CreateWindow(void)
expected_cx = 100;
expected_cy = 0x7fffffff;
SetRect( &expected_rect, 10, 10, 110, 0x7fffffff );
+ SetRect( &broken_rect, 10, 10, 110, 0x7fffffffU + 10 );
hwnd = CreateWindowExA(0, "Sizes_WndClass", NULL, WS_CHILD, 10, 10, 100, 0x7fffffff, parent, 0, 0, NULL);
ok( hwnd != 0, "creation failed err %u\n", GetLastError());
GetClientRect( hwnd, &rc );
ok( rc.right == 100, "invalid rect right %u\n", rc.right );
- ok( rc.bottom == 0x7fffffff - 10, "invalid rect bottom %u\n", rc.bottom );
+ ok( rc.bottom == 0x7fffffff - 10 || broken(rc.bottom == 0), "invalid rect bottom %u\n", rc.bottom );
DestroyWindow(hwnd);
expected_cx = 0x7fffffff;
expected_cy = 0x7fffffff;
SetRect( &expected_rect, 20, 10, 0x7fffffff, 0x7fffffff );
+ SetRect( &broken_rect, 20, 10, 0x7fffffffU + 20, 0x7fffffffU + 10 );
hwnd = CreateWindowExA(0, "Sizes_WndClass", NULL, WS_CHILD, 20, 10, 0x7fffffff, 0x7fffffff, parent, 0, 0, NULL);
ok( hwnd != 0, "creation failed err %u\n", GetLastError());
GetClientRect( hwnd, &rc );
- ok( rc.right == 0x7fffffff - 20, "invalid rect right %u\n", rc.right );
- ok( rc.bottom == 0x7fffffff - 10, "invalid rect bottom %u\n", rc.bottom );
+ ok( rc.right == 0x7fffffff - 20 || broken(rc.right == 0), "invalid rect right %u\n", rc.right );
+ ok( rc.bottom == 0x7fffffff - 10 || broken(rc.bottom == 0), "invalid rect bottom %u\n", rc.bottom );
DestroyWindow(hwnd);
/* top level window */
@@ -4635,10 +4642,7 @@ static LRESULT CALLBACK TestExposedRegion_WndProc(HWND hwnd, UINT msg, WPARAM wP
if(waitResult != WAIT_TIMEOUT)
{
GetUpdateRect(hwnd, &updateRect, FALSE);
-todo_wine
-{
- ok(!IsRectEmpty(&updateRect), "Exposed rect should not be empty\n");
-}
+ ok(IsRectEmpty(&updateRect), "Exposed rect should be empty\n");
}
return 1;
@@ -4856,14 +4860,14 @@ static void test_layered_window(void)
ok( alpha == 22, "wrong alpha %u\n", alpha );
ok( flags == (LWA_COLORKEY | LWA_ALPHA), "wrong flags %x\n", flags );
- /* alpha not changed if LWA_ALPHA is not set */
ret = pSetLayeredWindowAttributes( hwnd, 0x888888, 33, LWA_COLORKEY );
ok( ret, "SetLayeredWindowAttributes should succeed on layered window\n" );
alpha = 0;
ret = pGetLayeredWindowAttributes( hwnd, &key, &alpha, &flags );
ok( ret, "GetLayeredWindowAttributes should succeed on layered window\n" );
ok( key == 0x888888, "wrong color key %x\n", key );
- ok( alpha == 22, "wrong alpha %u\n", alpha );
+ /* alpha not changed on vista if LWA_ALPHA is not set */
+ ok( alpha == 22 || alpha == 33, "wrong alpha %u\n", alpha );
ok( flags == LWA_COLORKEY, "wrong flags %x\n", flags );
/* color key always changed */
@@ -4873,7 +4877,7 @@ static void test_layered_window(void)
ret = pGetLayeredWindowAttributes( hwnd, &key, &alpha, &flags );
ok( ret, "GetLayeredWindowAttributes should succeed on layered window\n" );
ok( key == 0x999999, "wrong color key %x\n", key );
- ok( alpha == 22, "wrong alpha %u\n", alpha );
+ ok( alpha == 22 || alpha == 44, "wrong alpha %u\n", alpha );
ok( flags == 0, "wrong flags %x\n", flags );
/* default alpha is 0 */
@@ -4884,7 +4888,7 @@ static void test_layered_window(void)
ret = pGetLayeredWindowAttributes( hwnd, &key, &alpha, &flags );
ok( ret, "GetLayeredWindowAttributes should succeed on layered window\n" );
ok( key == 0x222222, "wrong color key %x\n", key );
- ok( alpha == 0, "wrong alpha %u\n", alpha );
+ ok( alpha == 0 || alpha == 55, "wrong alpha %u\n", alpha );
ok( flags == 0, "wrong flags %x\n", flags );
DestroyWindow( hwnd );
More information about the wine-cvs
mailing list