+++ /dev/null
-/*
- * PROJECT: ReactOS api tests
- * LICENSE: GPL - See COPYING in the top level directory
- * PURPOSE: Test for NtUserCallOneParam
- * PROGRAMMERS:
- */
-
-#include <win32nt.h>
-
-
-
-void
-Test_OneParamRoutine_BeginDeferWindowPos(void) /* 0x1e */
-{
- HDWP hWinPosInfo;
-
- hWinPosInfo = (HDWP)NtUserCallOneParam(5, 0x1e);
- TEST(hWinPosInfo != 0);
- TEST(EndDeferWindowPos(hWinPosInfo) != 0);
-
-}
-
-void
-Test_OneParamRoutine_WindowFromDC(void) /* 0x1f */
-{
- HDC hDC = GetDC(NULL);
- HWND hWnd;
-
- hWnd = (HWND)NtUserCallOneParam((DWORD)hDC, 0x1f);
- TEST(hWnd != 0);
- TEST(IsWindow(hWnd));
- TEST(hWnd == GetDesktopWindow());
-
-}
-
-void
-Test_OneParamRoutine_CreateEmptyCurObject(void) /* XP/2k3 : 0x21, vista 0x25 */
-{
- HICON hIcon ;
-
- /* Test 0 */
- hIcon = (HICON) NtUserCallOneParam(0, _ONEPARAM_ROUTINE_CREATEEMPTYCUROBJECT);
- TEST(hIcon != NULL);
-
- TEST(NtUserDestroyCursor(hIcon, 0) == TRUE);
-
- /* Test Garbage */
- hIcon = (HICON) NtUserCallOneParam(0xdeadbeef, _ONEPARAM_ROUTINE_CREATEEMPTYCUROBJECT);
- TEST(hIcon != NULL);
-
- TEST(NtUserDestroyCursor(hIcon, 0xbaadf00d) == TRUE);
-
-}
-
-void
-Test_OneParamRoutine_MapDesktopObject(void) /* 0x30 */
-{
- DWORD pObject;
- HWND hWnd;
- HMENU hMenu;
-
- hWnd = GetDesktopWindow();
- pObject = NtUserCallOneParam((DWORD)hWnd, _ONEPARAM_ROUTINE_MAPDEKTOPOBJECT);
- TEST(pObject > 0);
- TEST(pObject < 0x80000000);
-
- hMenu = CreateMenu();
- pObject = NtUserCallOneParam((DWORD)hMenu, _ONEPARAM_ROUTINE_MAPDEKTOPOBJECT);
- DestroyMenu(hMenu);
- TEST(pObject > 0);
- TEST(pObject < 0x80000000);
-
-}
-
-void
-Test_OneParamRoutine_SwapMouseButtons(void) /* 0x42 */
-{
- BOOL bInverse;
-
- NtUserCallOneParam(TRUE, _ONEPARAM_ROUTINE_SWAPMOUSEBUTTON);
- bInverse = (BOOL)NtUserCallOneParam(FALSE, _ONEPARAM_ROUTINE_SWAPMOUSEBUTTON);
- TEST(bInverse == TRUE);
- bInverse = (BOOL)NtUserCallOneParam(FALSE, _ONEPARAM_ROUTINE_SWAPMOUSEBUTTON);
- TEST(bInverse == FALSE);
-
- // TODO: test other values
-}
-
-START_TEST(NtUserCallOneParam)
-{
- Test_OneParamRoutine_BeginDeferWindowPos(); /* 0x1e */
- Test_OneParamRoutine_WindowFromDC(); /* 0x1f */
- Test_OneParamRoutine_CreateEmptyCurObject(); /* XP/2k3 : 0x21, vista 0x25 */
- Test_OneParamRoutine_MapDesktopObject(); /* 0x30 */
- Test_OneParamRoutine_SwapMouseButtons(); /* 0x42 */
-}