user32/tests: Run tests on win95 again.
This commit is contained in:
parent
22e48388d5
commit
5748f15826
|
@ -59,7 +59,7 @@
|
||||||
static HWND hWndTest;
|
static HWND hWndTest;
|
||||||
static long timetag = 0x10000000;
|
static long timetag = 0x10000000;
|
||||||
|
|
||||||
static UINT (WINAPI *ptr_SendInput) (UINT, INPUT*, size_t);
|
static UINT (WINAPI *pSendInput) (UINT, INPUT*, size_t);
|
||||||
|
|
||||||
#define MAXKEYEVENTS 6
|
#define MAXKEYEVENTS 6
|
||||||
#define MAXKEYMESSAGES MAXKEYEVENTS /* assuming a key event generates one
|
#define MAXKEYMESSAGES MAXKEYEVENTS /* assuming a key event generates one
|
||||||
|
@ -147,6 +147,20 @@ typedef union
|
||||||
unsigned long lp2;
|
unsigned long lp2;
|
||||||
} KEYLP;
|
} KEYLP;
|
||||||
|
|
||||||
|
static void init_function_pointers(void)
|
||||||
|
{
|
||||||
|
HMODULE hdll = GetModuleHandleA("user32");
|
||||||
|
|
||||||
|
#define GET_PROC(func) \
|
||||||
|
p ## func = (void*)GetProcAddress(hdll, #func); \
|
||||||
|
if(!p ## func) \
|
||||||
|
trace("GetProcAddress(%s) failed\n", #func);
|
||||||
|
|
||||||
|
GET_PROC(SendInput)
|
||||||
|
|
||||||
|
#undef GET_PROC
|
||||||
|
}
|
||||||
|
|
||||||
static int KbdMessage( KEV kev, WPARAM *pwParam, LPARAM *plParam )
|
static int KbdMessage( KEV kev, WPARAM *pwParam, LPARAM *plParam )
|
||||||
{
|
{
|
||||||
UINT message;
|
UINT message;
|
||||||
|
@ -209,7 +223,6 @@ static int KbdMessage( KEV kev, WPARAM *pwParam, LPARAM *plParam )
|
||||||
*/
|
*/
|
||||||
static void do_test( HWND hwnd, int seqnr, const KEV td[] )
|
static void do_test( HWND hwnd, int seqnr, const KEV td[] )
|
||||||
{
|
{
|
||||||
HMODULE module;
|
|
||||||
INPUT inputs[MAXKEYEVENTS];
|
INPUT inputs[MAXKEYEVENTS];
|
||||||
KMSG expmsg[MAXKEYEVENTS];
|
KMSG expmsg[MAXKEYEVENTS];
|
||||||
MSG msg;
|
MSG msg;
|
||||||
|
@ -217,14 +230,6 @@ static void do_test( HWND hwnd, int seqnr, const KEV td[] )
|
||||||
UINT evtctr=0;
|
UINT evtctr=0;
|
||||||
int kmctr, i;
|
int kmctr, i;
|
||||||
|
|
||||||
module = GetModuleHandleA("user32");
|
|
||||||
ptr_SendInput = (void *)GetProcAddress(module, "SendInput");
|
|
||||||
if (!ptr_SendInput)
|
|
||||||
{
|
|
||||||
skip("skipping SendInput tests\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
buf[0]='\0';
|
buf[0]='\0';
|
||||||
TrackSysKey=0; /* see input.c */
|
TrackSysKey=0; /* see input.c */
|
||||||
for( i = 0; i < MAXKEYEVENTS; i++) {
|
for( i = 0; i < MAXKEYEVENTS; i++) {
|
||||||
|
@ -238,7 +243,7 @@ static void do_test( HWND hwnd, int seqnr, const KEV td[] )
|
||||||
for( kmctr = 0; kmctr < MAXKEYEVENTS && expmsg[kmctr].message; kmctr++)
|
for( kmctr = 0; kmctr < MAXKEYEVENTS && expmsg[kmctr].message; kmctr++)
|
||||||
;
|
;
|
||||||
assert( evtctr <= MAXKEYEVENTS );
|
assert( evtctr <= MAXKEYEVENTS );
|
||||||
assert( evtctr == ptr_SendInput(evtctr, &inputs[0], sizeof(INPUT)));
|
assert( evtctr == pSendInput(evtctr, &inputs[0], sizeof(INPUT)));
|
||||||
i = 0;
|
i = 0;
|
||||||
if (winetest_debug > 1)
|
if (winetest_debug > 1)
|
||||||
trace("======== key stroke sequence #%d: %s =============\n",
|
trace("======== key stroke sequence #%d: %s =============\n",
|
||||||
|
@ -485,8 +490,14 @@ static void test_Input_blackbox(void)
|
||||||
int ii;
|
int ii;
|
||||||
BYTE ks1[256], ks2[256];
|
BYTE ks1[256], ks2[256];
|
||||||
LONG_PTR prevWndProc;
|
LONG_PTR prevWndProc;
|
||||||
|
|
||||||
HWND window;
|
HWND window;
|
||||||
|
|
||||||
|
if (!pSendInput)
|
||||||
|
{
|
||||||
|
skip("SendInput is not available\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
window = CreateWindow("Static", NULL, WS_POPUP|WS_HSCROLL|WS_VSCROLL
|
window = CreateWindow("Static", NULL, WS_POPUP|WS_HSCROLL|WS_VSCROLL
|
||||||
|WS_VISIBLE, 0, 0, 200, 60, NULL, NULL,
|
|WS_VISIBLE, 0, 0, 200, 60, NULL, NULL,
|
||||||
NULL, NULL);
|
NULL, NULL);
|
||||||
|
@ -510,7 +521,7 @@ static void test_Input_blackbox(void)
|
||||||
GetKeyboardState(ks1);
|
GetKeyboardState(ks1);
|
||||||
i.u.ki.dwFlags = sendinput_test[ii].dwFlags;
|
i.u.ki.dwFlags = sendinput_test[ii].dwFlags;
|
||||||
i.u.ki.wVk = sendinput_test[ii].wVk;
|
i.u.ki.wVk = sendinput_test[ii].wVk;
|
||||||
SendInput(1, (INPUT*)&i, sizeof(TEST_INPUT));
|
pSendInput(1, (INPUT*)&i, sizeof(TEST_INPUT));
|
||||||
empty_message_queue();
|
empty_message_queue();
|
||||||
GetKeyboardState(ks2);
|
GetKeyboardState(ks2);
|
||||||
compare_and_check(ii, ks1, ks2,
|
compare_and_check(ii, ks1, ks2,
|
||||||
|
@ -665,7 +676,13 @@ static void test_mouse_ll_hook(void)
|
||||||
|
|
||||||
START_TEST(input)
|
START_TEST(input)
|
||||||
{
|
{
|
||||||
test_Input_whitebox();
|
init_function_pointers();
|
||||||
|
|
||||||
|
if (!pSendInput)
|
||||||
|
skip("SendInput is not available\n");
|
||||||
|
else
|
||||||
|
test_Input_whitebox();
|
||||||
|
|
||||||
test_Input_blackbox();
|
test_Input_blackbox();
|
||||||
test_keynames();
|
test_keynames();
|
||||||
test_mouse_ll_hook();
|
test_mouse_ll_hook();
|
||||||
|
|
|
@ -37,8 +37,25 @@
|
||||||
|
|
||||||
static ATOM atomMenuCheckClass;
|
static ATOM atomMenuCheckClass;
|
||||||
|
|
||||||
static BOOL (WINAPI *pSetMenuInfo)(HMENU,LPCMENUINFO);
|
|
||||||
static BOOL (WINAPI *pGetMenuInfo)(HMENU,LPCMENUINFO);
|
static BOOL (WINAPI *pGetMenuInfo)(HMENU,LPCMENUINFO);
|
||||||
|
static UINT (WINAPI *pSendInput)(UINT, INPUT*, size_t);
|
||||||
|
static BOOL (WINAPI *pSetMenuInfo)(HMENU,LPCMENUINFO);
|
||||||
|
|
||||||
|
static void init_function_pointers(void)
|
||||||
|
{
|
||||||
|
HMODULE hdll = GetModuleHandleA("user32");
|
||||||
|
|
||||||
|
#define GET_PROC(func) \
|
||||||
|
p ## func = (void*)GetProcAddress(hdll, #func); \
|
||||||
|
if(!p ## func) \
|
||||||
|
trace("GetProcAddress(%s) failed\n", #func);
|
||||||
|
|
||||||
|
GET_PROC(GetMenuInfo)
|
||||||
|
GET_PROC(SendInput)
|
||||||
|
GET_PROC(SetMenuInfo)
|
||||||
|
|
||||||
|
#undef GET_PROC
|
||||||
|
}
|
||||||
|
|
||||||
static LRESULT WINAPI menu_check_wnd_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
|
static LRESULT WINAPI menu_check_wnd_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
|
||||||
{
|
{
|
||||||
|
@ -471,7 +488,11 @@ static void test_menu_bmp_and_string(void)
|
||||||
HWND hwnd;
|
HWND hwnd;
|
||||||
int count, szidx, txtidx, bmpidx, hassub, mnuopt, ispop;
|
int count, szidx, txtidx, bmpidx, hassub, mnuopt, ispop;
|
||||||
|
|
||||||
if( !pGetMenuInfo) return;
|
if( !pGetMenuInfo)
|
||||||
|
{
|
||||||
|
skip("GetMenuInfo is not available\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
memset( bmfill, 0x55, sizeof( bmfill));
|
memset( bmfill, 0x55, sizeof( bmfill));
|
||||||
hwnd = CreateWindowEx(0, MAKEINTATOM(atomMenuCheckClass), NULL,
|
hwnd = CreateWindowEx(0, MAKEINTATOM(atomMenuCheckClass), NULL,
|
||||||
|
@ -1674,7 +1695,7 @@ static void send_key(WORD wVk)
|
||||||
i[0].type = i[1].type = INPUT_KEYBOARD;
|
i[0].type = i[1].type = INPUT_KEYBOARD;
|
||||||
i[0].u.ki.wVk = i[1].u.ki.wVk = wVk;
|
i[0].u.ki.wVk = i[1].u.ki.wVk = wVk;
|
||||||
i[1].u.ki.dwFlags = KEYEVENTF_KEYUP;
|
i[1].u.ki.dwFlags = KEYEVENTF_KEYUP;
|
||||||
SendInput(2, (INPUT *) i, sizeof(INPUT));
|
pSendInput(2, (INPUT *) i, sizeof(INPUT));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void click_menu(HANDLE hWnd, struct menu_item_pair_s *mi)
|
static void click_menu(HANDLE hWnd, struct menu_item_pair_s *mi)
|
||||||
|
@ -1699,7 +1720,7 @@ static void click_menu(HANDLE hWnd, struct menu_item_pair_s *mi)
|
||||||
i[0].u.mi.dwFlags |= MOUSEEVENTF_MOVE;
|
i[0].u.mi.dwFlags |= MOUSEEVENTF_MOVE;
|
||||||
i[1].u.mi.dwFlags |= MOUSEEVENTF_LEFTDOWN;
|
i[1].u.mi.dwFlags |= MOUSEEVENTF_LEFTDOWN;
|
||||||
i[2].u.mi.dwFlags |= MOUSEEVENTF_LEFTUP;
|
i[2].u.mi.dwFlags |= MOUSEEVENTF_LEFTUP;
|
||||||
SendInput(3, (INPUT *) i, sizeof(INPUT));
|
pSendInput(3, (INPUT *) i, sizeof(INPUT));
|
||||||
|
|
||||||
/* hack to prevent mouse message buildup in Wine */
|
/* hack to prevent mouse message buildup in Wine */
|
||||||
while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg );
|
while (PeekMessage( &msg, 0, 0, 0, PM_REMOVE )) DispatchMessageA( &msg );
|
||||||
|
@ -2220,10 +2241,7 @@ static void test_InsertMenu(void)
|
||||||
|
|
||||||
START_TEST(menu)
|
START_TEST(menu)
|
||||||
{
|
{
|
||||||
pSetMenuInfo =
|
init_function_pointers();
|
||||||
(void *)GetProcAddress( GetModuleHandleA("user32.dll"), "SetMenuInfo" );
|
|
||||||
pGetMenuInfo =
|
|
||||||
(void *)GetProcAddress( GetModuleHandleA("user32.dll"), "GetMenuInfo" );
|
|
||||||
|
|
||||||
register_menu_check_class();
|
register_menu_check_class();
|
||||||
|
|
||||||
|
@ -2233,8 +2251,13 @@ START_TEST(menu)
|
||||||
test_menu_iteminfo();
|
test_menu_iteminfo();
|
||||||
test_menu_search_bycommand();
|
test_menu_search_bycommand();
|
||||||
test_menu_bmp_and_string();
|
test_menu_bmp_and_string();
|
||||||
test_menu_input();
|
|
||||||
|
if( !pSendInput)
|
||||||
|
skip("SendInput is not available\n");
|
||||||
|
else
|
||||||
|
test_menu_input();
|
||||||
test_menu_flags();
|
test_menu_flags();
|
||||||
|
|
||||||
test_menu_hilitemenuitem();
|
test_menu_hilitemenuitem();
|
||||||
test_CheckMenuRadioItem();
|
test_CheckMenuRadioItem();
|
||||||
test_menu_resource_layout();
|
test_menu_resource_layout();
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include "winuser.h"
|
#include "winuser.h"
|
||||||
|
|
||||||
static HMODULE hdll;
|
static HMODULE hdll;
|
||||||
|
static LONG (WINAPI *pChangeDisplaySettingsExA)(LPCSTR, LPDEVMODEA, HWND, DWORD, LPVOID);
|
||||||
static BOOL (WINAPI *pEnumDisplayDevicesA)(LPCSTR,DWORD,LPDISPLAY_DEVICEA,DWORD);
|
static BOOL (WINAPI *pEnumDisplayDevicesA)(LPCSTR,DWORD,LPDISPLAY_DEVICEA,DWORD);
|
||||||
static BOOL (WINAPI *pEnumDisplayMonitors)(HDC,LPRECT,MONITORENUMPROC,LPARAM);
|
static BOOL (WINAPI *pEnumDisplayMonitors)(HDC,LPRECT,MONITORENUMPROC,LPARAM);
|
||||||
static BOOL (WINAPI *pGetMonitorInfoA)(HMONITOR,LPMONITORINFO);
|
static BOOL (WINAPI *pGetMonitorInfoA)(HMONITOR,LPMONITORINFO);
|
||||||
|
@ -33,11 +34,20 @@ static HMONITOR (WINAPI *pMonitorFromWindow)(HWND,DWORD);
|
||||||
static void init_function_pointers(void)
|
static void init_function_pointers(void)
|
||||||
{
|
{
|
||||||
hdll = GetModuleHandleA("user32.dll");
|
hdll = GetModuleHandleA("user32.dll");
|
||||||
pEnumDisplayDevicesA = (void*)GetProcAddress(hdll, "EnumDisplayDevicesA");
|
|
||||||
pEnumDisplayMonitors = (void*)GetProcAddress(hdll, "EnumDisplayMonitors");
|
#define GET_PROC(func) \
|
||||||
pGetMonitorInfoA = (void*)GetProcAddress(hdll, "GetMonitorInfoA");
|
p ## func = (void*)GetProcAddress(hdll, #func); \
|
||||||
pMonitorFromPoint = (void*)GetProcAddress(hdll, "MonitorFromPoint");
|
if(!p ## func) \
|
||||||
pMonitorFromWindow = (void*)GetProcAddress(hdll, "MonitorFromWindow");
|
trace("GetProcAddress(%s) failed\n", #func);
|
||||||
|
|
||||||
|
GET_PROC(ChangeDisplaySettingsExA)
|
||||||
|
GET_PROC(EnumDisplayDevicesA)
|
||||||
|
GET_PROC(EnumDisplayMonitors)
|
||||||
|
GET_PROC(GetMonitorInfoA)
|
||||||
|
GET_PROC(MonitorFromPoint)
|
||||||
|
GET_PROC(MonitorFromWindow)
|
||||||
|
|
||||||
|
#undef GET_PROC
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOL CALLBACK monitor_enum_proc(HMONITOR hmon, HDC hdc, LPRECT lprc,
|
static BOOL CALLBACK monitor_enum_proc(HMONITOR hmon, HDC hdc, LPRECT lprc,
|
||||||
|
@ -129,6 +139,12 @@ static void test_ChangeDisplaySettingsEx(void)
|
||||||
LONG res;
|
LONG res;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
if (!pChangeDisplaySettingsExA)
|
||||||
|
{
|
||||||
|
skip("ChangeDisplaySettingsExA is not available\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
memset(&dm, 0, sizeof(dm));
|
memset(&dm, 0, sizeof(dm));
|
||||||
dm.dmSize = sizeof(dm);
|
dm.dmSize = sizeof(dm);
|
||||||
|
|
||||||
|
@ -139,7 +155,7 @@ static void test_ChangeDisplaySettingsEx(void)
|
||||||
dm.dmBitsPerPel = vid_modes_test[i].bpp;
|
dm.dmBitsPerPel = vid_modes_test[i].bpp;
|
||||||
dm.dmDisplayFrequency = vid_modes_test[i].freq;
|
dm.dmDisplayFrequency = vid_modes_test[i].freq;
|
||||||
dm.dmFields = vid_modes_test[i].fields;
|
dm.dmFields = vid_modes_test[i].fields;
|
||||||
res = ChangeDisplaySettingsEx(NULL, &dm, NULL, CDS_FULLSCREEN, NULL);
|
res = pChangeDisplaySettingsExA(NULL, &dm, NULL, CDS_FULLSCREEN, NULL);
|
||||||
ok(vid_modes_test[i].success ?
|
ok(vid_modes_test[i].success ?
|
||||||
(res == DISP_CHANGE_SUCCESSFUL) :
|
(res == DISP_CHANGE_SUCCESSFUL) :
|
||||||
(res == DISP_CHANGE_BADMODE || res == DISP_CHANGE_BADPARAM),
|
(res == DISP_CHANGE_BADMODE || res == DISP_CHANGE_BADPARAM),
|
||||||
|
@ -172,7 +188,7 @@ static void test_ChangeDisplaySettingsEx(void)
|
||||||
ok(EqualRect(&r, &virt), "Invalid clip rect: (%d %d) x (%d %d)\n", r.left, r.top, r.right, r.bottom);
|
ok(EqualRect(&r, &virt), "Invalid clip rect: (%d %d) x (%d %d)\n", r.left, r.top, r.right, r.bottom);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
res = ChangeDisplaySettingsEx(NULL, NULL, NULL, CDS_RESET, NULL);
|
res = pChangeDisplaySettingsExA(NULL, NULL, NULL, CDS_RESET, NULL);
|
||||||
ok(res == DISP_CHANGE_SUCCESSFUL, "Failed to reset default resolution: %d\n", res);
|
ok(res == DISP_CHANGE_SUCCESSFUL, "Failed to reset default resolution: %d\n", res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -202,4 +218,6 @@ START_TEST(monitor)
|
||||||
test_ChangeDisplaySettingsEx();
|
test_ChangeDisplaySettingsEx();
|
||||||
if (pMonitorFromPoint && pMonitorFromWindow)
|
if (pMonitorFromPoint && pMonitorFromWindow)
|
||||||
test_monitors();
|
test_monitors();
|
||||||
|
else
|
||||||
|
skip("MonitorFromPoint and/or MonitorFromWindow are not available\n");
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,11 +54,6 @@
|
||||||
static BOOL test_DestroyWindow_flag;
|
static BOOL test_DestroyWindow_flag;
|
||||||
static HWINEVENTHOOK hEvent_hook;
|
static HWINEVENTHOOK hEvent_hook;
|
||||||
|
|
||||||
static HWND (WINAPI *pGetAncestor)(HWND,UINT);
|
|
||||||
static void (WINAPI *pNotifyWinEvent)(DWORD, HWND, LONG, LONG);
|
|
||||||
static HWINEVENTHOOK (WINAPI *pSetWinEventHook)(DWORD, DWORD, HMODULE, WINEVENTPROC, DWORD, DWORD, DWORD);
|
|
||||||
static BOOL (WINAPI *pUnhookWinEvent)(HWINEVENTHOOK);
|
|
||||||
|
|
||||||
static void dump_winpos_flags(UINT flags);
|
static void dump_winpos_flags(UINT flags);
|
||||||
|
|
||||||
static const WCHAR testWindowClassW[] =
|
static const WCHAR testWindowClassW[] =
|
||||||
|
@ -1407,22 +1402,35 @@ static int sequence_cnt, sequence_size;
|
||||||
static struct message* sequence;
|
static struct message* sequence;
|
||||||
static int log_all_parent_messages;
|
static int log_all_parent_messages;
|
||||||
|
|
||||||
|
/* user32 functions */
|
||||||
|
static HWND (WINAPI *pGetAncestor)(HWND,UINT);
|
||||||
|
static void (WINAPI *pNotifyWinEvent)(DWORD, HWND, LONG, LONG);
|
||||||
|
static HWINEVENTHOOK (WINAPI *pSetWinEventHook)(DWORD, DWORD, HMODULE, WINEVENTPROC, DWORD, DWORD, DWORD);
|
||||||
|
static BOOL (WINAPI *pTrackMouseEvent)(TRACKMOUSEEVENT*);
|
||||||
|
static BOOL (WINAPI *pUnhookWinEvent)(HWINEVENTHOOK);
|
||||||
|
/* kernel32 functions */
|
||||||
|
static BOOL (WINAPI *pGetCPInfoExA)(UINT, DWORD, LPCPINFOEXA);
|
||||||
|
|
||||||
static void init_procs(void)
|
static void init_procs(void)
|
||||||
{
|
{
|
||||||
HMODULE user32 = GetModuleHandleA("user32.dll");
|
HMODULE user32 = GetModuleHandleA("user32.dll");
|
||||||
|
HMODULE kernel32 = GetModuleHandleA("kernel32.dll");
|
||||||
|
|
||||||
#define USER32_GET_PROC(func) \
|
#define GET_PROC(dll, func) \
|
||||||
p ## func = (void*)GetProcAddress(user32, #func); \
|
p ## func = (void*)GetProcAddress(dll, #func); \
|
||||||
if(!p ## func) { \
|
if(!p ## func) { \
|
||||||
trace("GetProcAddress(%s) failed\n", #func); \
|
trace("GetProcAddress(%s) failed\n", #func); \
|
||||||
}
|
}
|
||||||
|
|
||||||
USER32_GET_PROC(GetAncestor)
|
GET_PROC(user32, GetAncestor)
|
||||||
USER32_GET_PROC(NotifyWinEvent)
|
GET_PROC(user32, NotifyWinEvent)
|
||||||
USER32_GET_PROC(SetWinEventHook)
|
GET_PROC(user32, SetWinEventHook)
|
||||||
USER32_GET_PROC(UnhookWinEvent)
|
GET_PROC(user32, TrackMouseEvent)
|
||||||
|
GET_PROC(user32, UnhookWinEvent)
|
||||||
|
|
||||||
#undef USER32_GET_PROC
|
GET_PROC(kernel32, GetCPInfoExA)
|
||||||
|
|
||||||
|
#undef GET_PROC
|
||||||
}
|
}
|
||||||
|
|
||||||
static void add_message(const struct message *msg)
|
static void add_message(const struct message *msg)
|
||||||
|
@ -8478,7 +8486,7 @@ static void test_TrackMouseEvent(void)
|
||||||
tme.hwndTrack = track_hwnd; \
|
tme.hwndTrack = track_hwnd; \
|
||||||
tme.dwHoverTime = track_hover_time; \
|
tme.dwHoverTime = track_hover_time; \
|
||||||
SetLastError(0xdeadbeef); \
|
SetLastError(0xdeadbeef); \
|
||||||
ret = TrackMouseEvent(&tme); \
|
ret = pTrackMouseEvent(&tme); \
|
||||||
ok(ret, "TrackMouseEvent(TME_HOVER) error %d\n", GetLastError())
|
ok(ret, "TrackMouseEvent(TME_HOVER) error %d\n", GetLastError())
|
||||||
|
|
||||||
#define track_query(expected_track_flags, expected_track_hwnd, expected_hover_time) \
|
#define track_query(expected_track_flags, expected_track_hwnd, expected_hover_time) \
|
||||||
|
@ -8487,7 +8495,7 @@ static void test_TrackMouseEvent(void)
|
||||||
tme.hwndTrack = (HWND)0xdeadbeef; \
|
tme.hwndTrack = (HWND)0xdeadbeef; \
|
||||||
tme.dwHoverTime = 0xdeadbeef; \
|
tme.dwHoverTime = 0xdeadbeef; \
|
||||||
SetLastError(0xdeadbeef); \
|
SetLastError(0xdeadbeef); \
|
||||||
ret = TrackMouseEvent(&tme); \
|
ret = pTrackMouseEvent(&tme); \
|
||||||
ok(ret, "TrackMouseEvent(TME_QUERY) error %d\n", GetLastError());\
|
ok(ret, "TrackMouseEvent(TME_QUERY) error %d\n", GetLastError());\
|
||||||
ok(tme.cbSize == sizeof(tme), "wrong tme.cbSize %u\n", tme.cbSize); \
|
ok(tme.cbSize == sizeof(tme), "wrong tme.cbSize %u\n", tme.cbSize); \
|
||||||
ok(tme.dwFlags == (expected_track_flags), \
|
ok(tme.dwFlags == (expected_track_flags), \
|
||||||
|
@ -8503,7 +8511,7 @@ static void test_TrackMouseEvent(void)
|
||||||
tme.hwndTrack = track_hwnd; \
|
tme.hwndTrack = track_hwnd; \
|
||||||
tme.dwHoverTime = 0xdeadbeef; \
|
tme.dwHoverTime = 0xdeadbeef; \
|
||||||
SetLastError(0xdeadbeef); \
|
SetLastError(0xdeadbeef); \
|
||||||
ret = TrackMouseEvent(&tme); \
|
ret = pTrackMouseEvent(&tme); \
|
||||||
ok(ret, "TrackMouseEvent(TME_HOVER | TME_CANCEL) error %d\n", GetLastError())
|
ok(ret, "TrackMouseEvent(TME_HOVER | TME_CANCEL) error %d\n", GetLastError())
|
||||||
|
|
||||||
default_hover_time = 0xdeadbeef;
|
default_hover_time = 0xdeadbeef;
|
||||||
|
@ -8543,7 +8551,7 @@ static void test_TrackMouseEvent(void)
|
||||||
tme.hwndTrack = (HWND)0xdeadbeef;
|
tme.hwndTrack = (HWND)0xdeadbeef;
|
||||||
tme.dwHoverTime = 0xdeadbeef;
|
tme.dwHoverTime = 0xdeadbeef;
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
ret = TrackMouseEvent(&tme);
|
ret = pTrackMouseEvent(&tme);
|
||||||
ok(!ret, "TrackMouseEvent should fail\n");
|
ok(!ret, "TrackMouseEvent should fail\n");
|
||||||
ok(GetLastError() == ERROR_INVALID_PARAMETER, "not expected error %d\n", GetLastError());
|
ok(GetLastError() == ERROR_INVALID_PARAMETER, "not expected error %d\n", GetLastError());
|
||||||
|
|
||||||
|
@ -8552,7 +8560,7 @@ static void test_TrackMouseEvent(void)
|
||||||
tme.hwndTrack = (HWND)0xdeadbeef;
|
tme.hwndTrack = (HWND)0xdeadbeef;
|
||||||
tme.dwHoverTime = 0xdeadbeef;
|
tme.dwHoverTime = 0xdeadbeef;
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
ret = TrackMouseEvent(&tme);
|
ret = pTrackMouseEvent(&tme);
|
||||||
ok(!ret, "TrackMouseEvent should fail\n");
|
ok(!ret, "TrackMouseEvent should fail\n");
|
||||||
ok(GetLastError() == ERROR_INVALID_WINDOW_HANDLE, "not expected error %d\n", GetLastError());
|
ok(GetLastError() == ERROR_INVALID_WINDOW_HANDLE, "not expected error %d\n", GetLastError());
|
||||||
|
|
||||||
|
@ -8561,7 +8569,7 @@ static void test_TrackMouseEvent(void)
|
||||||
tme.hwndTrack = (HWND)0xdeadbeef;
|
tme.hwndTrack = (HWND)0xdeadbeef;
|
||||||
tme.dwHoverTime = 0xdeadbeef;
|
tme.dwHoverTime = 0xdeadbeef;
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
ret = TrackMouseEvent(&tme);
|
ret = pTrackMouseEvent(&tme);
|
||||||
ok(!ret, "TrackMouseEvent should fail\n");
|
ok(!ret, "TrackMouseEvent should fail\n");
|
||||||
ok(GetLastError() == ERROR_INVALID_WINDOW_HANDLE, "not expected error %d\n", GetLastError());
|
ok(GetLastError() == ERROR_INVALID_WINDOW_HANDLE, "not expected error %d\n", GetLastError());
|
||||||
|
|
||||||
|
@ -9288,7 +9296,7 @@ static void test_dbcs_wm_char(void)
|
||||||
UINT i, j, k;
|
UINT i, j, k;
|
||||||
struct message wmCharSeq[2];
|
struct message wmCharSeq[2];
|
||||||
|
|
||||||
GetCPInfoExA( CP_ACP, 0, &cpinfo );
|
pGetCPInfoExA( CP_ACP, 0, &cpinfo );
|
||||||
if (cpinfo.MaxCharSize != 2)
|
if (cpinfo.MaxCharSize != 2)
|
||||||
{
|
{
|
||||||
skip( "Skipping DBCS WM_CHAR test in SBCS codepage '%s'\n", cpinfo.CodePageName );
|
skip( "Skipping DBCS WM_CHAR test in SBCS codepage '%s'\n", cpinfo.CodePageName );
|
||||||
|
@ -9616,7 +9624,12 @@ START_TEST(msg)
|
||||||
test_SendMessageTimeout();
|
test_SendMessageTimeout();
|
||||||
test_edit_messages();
|
test_edit_messages();
|
||||||
test_quit_message();
|
test_quit_message();
|
||||||
test_TrackMouseEvent();
|
|
||||||
|
if (!pTrackMouseEvent)
|
||||||
|
skip("TrackMouseEvent is not available\n");
|
||||||
|
else
|
||||||
|
test_TrackMouseEvent();
|
||||||
|
|
||||||
test_SetWindowRgn();
|
test_SetWindowRgn();
|
||||||
test_sys_menu();
|
test_sys_menu();
|
||||||
test_dialog_messages();
|
test_dialog_messages();
|
||||||
|
@ -9635,4 +9648,6 @@ START_TEST(msg)
|
||||||
GetLastError() == 0xdeadbeef, /* Win9x */
|
GetLastError() == 0xdeadbeef, /* Win9x */
|
||||||
"unexpected error %d\n", GetLastError());
|
"unexpected error %d\n", GetLastError());
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
skip("UnhookWinEvent is not available\n");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue