mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 18:45:46 +00:00
[user32_apitest]
- Add a test case for SetActiveWindow that shows its behavior related to owner windows. It should point the bug observed in bug 1239 svn path=/trunk/; revision=53621
This commit is contained in:
parent
622fc9501c
commit
2f5ccca699
4 changed files with 56 additions and 0 deletions
|
@ -14,6 +14,7 @@ list(APPEND SOURCE
|
|||
ScrollDC.c
|
||||
ScrollWindowEx.c
|
||||
SetCursorPos.c
|
||||
SetActiveWindow.c
|
||||
WndProc.c
|
||||
testlist.c
|
||||
user32_apitest.rc)
|
||||
|
|
52
rostests/apitests/user32/SetActiveWindow.c
Normal file
52
rostests/apitests/user32/SetActiveWindow.c
Normal file
|
@ -0,0 +1,52 @@
|
|||
/*
|
||||
* PROJECT: ReactOS api tests
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* PURPOSE: Test for SetActiveWindow
|
||||
* PROGRAMMERS: Giannis Adamopoulos
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <wine/test.h>
|
||||
#include <windows.h>
|
||||
|
||||
void Test_SetActiveWindow()
|
||||
{
|
||||
MSG msg;
|
||||
HWND hWnd, hWnd1, hWnd2;
|
||||
|
||||
hWnd = CreateWindowW(L"BUTTON", L"ownertest", WS_OVERLAPPEDWINDOW,
|
||||
20, 20, 300, 300, NULL, NULL, 0, NULL);
|
||||
|
||||
hWnd1 = CreateWindowW(L"BUTTON", L"ownertest", WS_OVERLAPPEDWINDOW,
|
||||
20, 350, 300, 300, hWnd, NULL, 0, NULL);
|
||||
|
||||
hWnd2 = CreateWindowW(L"BUTTON", L"ownertest", WS_OVERLAPPEDWINDOW,
|
||||
200, 200, 300, 300, NULL, NULL, 0, NULL);
|
||||
|
||||
ShowWindow(hWnd, SW_SHOW);
|
||||
UpdateWindow(hWnd);
|
||||
ShowWindow(hWnd1, SW_SHOW);
|
||||
UpdateWindow(hWnd1);
|
||||
ShowWindow(hWnd2, SW_SHOW);
|
||||
UpdateWindow(hWnd2);
|
||||
|
||||
while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg );
|
||||
|
||||
ok(GetWindow(hWnd2,GW_HWNDNEXT) == hWnd1, "Expected %p after %p, not %p\n",hWnd1,hWnd2,GetWindow(hWnd2,GW_HWNDNEXT) );
|
||||
ok(GetWindow(hWnd1,GW_HWNDNEXT) == hWnd, "Expected %p after %p, not %p\n",hWnd,hWnd1,GetWindow(hWnd1,GW_HWNDNEXT));
|
||||
ok(GetActiveWindow() == hWnd2, "Expected %p to be the active window, not %p\n",hWnd2,GetActiveWindow());
|
||||
|
||||
SetActiveWindow(hWnd);
|
||||
|
||||
while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg );
|
||||
|
||||
/* note: the owned is moved on top of the three windows */
|
||||
ok(GetActiveWindow() == hWnd, "Expected %p to be the active window, not %p\n",hWnd,GetActiveWindow());
|
||||
ok(GetWindow(hWnd1,GW_HWNDNEXT) == hWnd, "Expected %p after %p, not %p\n",hWnd,hWnd1,GetWindow(hWnd1,GW_HWNDNEXT) );
|
||||
ok(GetWindow(hWnd,GW_HWNDNEXT) == hWnd2, "Expected %p after %p, not %p\n",hWnd2,hWnd,GetWindow(hWnd,GW_HWNDNEXT) );
|
||||
}
|
||||
|
||||
START_TEST(SetActiveWindow)
|
||||
{
|
||||
Test_SetActiveWindow();
|
||||
}
|
|
@ -15,6 +15,7 @@ extern void func_GetPeekMessage(void);
|
|||
extern void func_DeferWindowPos(void);
|
||||
extern void func_GetKeyState(void);
|
||||
extern void func_SetCursorPos(void);
|
||||
extern void func_SetActiveWindow(void);
|
||||
extern void func_WndProc(void);
|
||||
|
||||
const struct test winetest_testlist[] =
|
||||
|
@ -29,6 +30,7 @@ const struct test winetest_testlist[] =
|
|||
{ "DeferWindowPos", func_DeferWindowPos },
|
||||
{ "GetKeyState", func_GetKeyState },
|
||||
{ "SetCursorPos", func_SetCursorPos },
|
||||
{ "SetActiveWindow", func_SetActiveWindow },
|
||||
{ "WndProc", func_WndProc },
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
<file>GetIconInfo.c</file>
|
||||
<file>GetPeekMessage.c</file>
|
||||
<file>DeferWindowPos.c</file>
|
||||
<file>SetActiveWindow.c</file>
|
||||
<file>SetCursorPos.c</file>
|
||||
<file>WndProc.c</file>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue