Author: jgardou Date: Wed Jul 14 14:56:53 2010 New Revision: 48039
URL: http://svn.reactos.org/svn/reactos?rev=48039&view=rev Log: [W32KNAPI] - Test ONE_PARAM_ROUTINE_CREATEEMPTYCUROBJECT - Test NtUserGetIconInfo
Added: trunk/rostests/apitests/w32knapi/ntuser/NtUserGetIconInfo.c (with props) Modified: trunk/rostests/apitests/w32knapi/ntuser/NtUserCallOneParam.c trunk/rostests/apitests/w32knapi/osver.c trunk/rostests/apitests/w32knapi/testlist.c trunk/rostests/apitests/w32knapi/w32knapi.h
Modified: trunk/rostests/apitests/w32knapi/ntuser/NtUserCallOneParam.c URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/ntuser/N... ============================================================================== --- trunk/rostests/apitests/w32knapi/ntuser/NtUserCallOneParam.c [iso-8859-1] (original) +++ trunk/rostests/apitests/w32knapi/ntuser/NtUserCallOneParam.c [iso-8859-1] Wed Jul 14 14:56:53 2010 @@ -21,6 +21,26 @@ TEST(hWnd != 0); TEST(IsWindow(hWnd)); TEST(hWnd == GetDesktopWindow()); + + return APISTATUS_NORMAL; +} + +INT +Test_OneParamRoutine_CreateEmptyCurObject(PTESTINFO pti) /* 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);
return APISTATUS_NORMAL; } @@ -66,6 +86,7 @@ { Test_OneParamRoutine_BeginDeferWindowPos(pti); /* 0x1e */ Test_OneParamRoutine_WindowFromDC(pti); /* 0x1f */ + Test_OneParamRoutine_CreateEmptyCurObject(pti); /* XP/2k3 : 0x21, vista 0x25 */ Test_OneParamRoutine_MapDesktopObject(pti); /* 0x30 */
Test_OneParamRoutine_SwapMouseButtons(pti); /* 0x42 */
Added: trunk/rostests/apitests/w32knapi/ntuser/NtUserGetIconInfo.c URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/ntuser/N... ============================================================================== --- trunk/rostests/apitests/w32knapi/ntuser/NtUserGetIconInfo.c (added) +++ trunk/rostests/apitests/w32knapi/ntuser/NtUserGetIconInfo.c [iso-8859-1] Wed Jul 14 14:56:53 2010 @@ -1,0 +1,62 @@ +INT +Test_NtUserGetIconInfo(PTESTINFO pti) +{ + HICON hIcon; + ICONINFO iinfo; + HBITMAP mask, color; + + ZeroMemory(&iinfo, sizeof(ICONINFO)); + + /* BASIC TESTS */ + hIcon = (HICON) NtUserCallOneParam(0, _ONEPARAM_ROUTINE_CREATEEMPTYCUROBJECT); + TEST(hIcon != NULL); + + /* Last param is unknown */ + TEST(NtUserGetIconInfo(hIcon, &iinfo, NULL, NULL, NULL, FALSE) == FALSE); + TEST(NtUserGetIconInfo(hIcon, &iinfo, NULL, NULL, NULL, TRUE) == FALSE); + + TEST(NtUserDestroyCursor(hIcon, 0) == TRUE); + + mask = CreateBitmap(16,16,1,1,NULL); + color = CreateBitmap(16,16,1,16,NULL); + + iinfo.hbmMask = mask; + iinfo.hbmColor = color ; + iinfo.fIcon = TRUE; + iinfo.xHotspot = 8; + iinfo.yHotspot = 8; + + hIcon = CreateIconIndirect(&iinfo); + TEST(hIcon!=NULL); + + // TODO : test last parameter... + TEST(NtUserGetIconInfo(hIcon, &iinfo, NULL, NULL, NULL, FALSE) == TRUE); + + TEST(iinfo.hbmMask != NULL); + TEST(iinfo.hbmColor != NULL); + TEST(iinfo.fIcon == TRUE); + TEST(iinfo.yHotspot == 8); + TEST(iinfo.xHotspot == 8); + + TEST(iinfo.hbmMask != mask); + TEST(iinfo.hbmColor != color); + + /* Does it make a difference? */ + TEST(NtUserGetIconInfo(hIcon, &iinfo, NULL, NULL, NULL, TRUE) == TRUE); + + TEST(iinfo.hbmMask != NULL); + TEST(iinfo.hbmColor != NULL); + TEST(iinfo.fIcon == TRUE); + TEST(iinfo.yHotspot == 8); + TEST(iinfo.xHotspot == 8); + + TEST(iinfo.hbmMask != mask); + TEST(iinfo.hbmColor != color); + + DeleteObject(mask); + DeleteObject(color); + + DestroyIcon(hIcon); + + return APISTATUS_NORMAL; +}
Propchange: trunk/rostests/apitests/w32knapi/ntuser/NtUserGetIconInfo.c ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/rostests/apitests/w32knapi/osver.c URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/osver.c?... ============================================================================== --- trunk/rostests/apitests/w32knapi/osver.c [iso-8859-1] (original) +++ trunk/rostests/apitests/w32knapi/osver.c [iso-8859-1] Wed Jul 14 14:56:53 2010 @@ -6,6 +6,7 @@ ASPI gNOPARAM_ROUTINE_CREATEMENU = {-1,-1,0x00,-1,0x00}; ASPI gNOPARAM_ROUTINE_CREATEMENUPOPUP = {-1,-1,0x01,-1,0x01}; ASPI gNOPARAM_ROUTINE_LOADUSERAPIHOOK = {-1,-1,0x1d,-1,0x0e}; +ASPI gONEPARAM_ROUTINE_CREATEEMPTYCUROBJECT = {-1, -1, 0x21, 0x21, 0x25}; ASPI gONEPARAM_ROUTINE_MAPDEKTOPOBJECT = {-1,-1,0x30,-1,0x31}; ASPI gONEPARAM_ROUTINE_SWAPMOUSEBUTTON = {-1,-1,0x42,-1,0x44};
Modified: trunk/rostests/apitests/w32knapi/testlist.c URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/testlist... ============================================================================== --- trunk/rostests/apitests/w32knapi/testlist.c [iso-8859-1] (original) +++ trunk/rostests/apitests/w32knapi/testlist.c [iso-8859-1] Wed Jul 14 14:56:53 2010 @@ -50,6 +50,7 @@ #include "ntuser/NtUserEnumDisplaySettings.c" #include "ntuser/NtUserFindExistingCursorIcon.c" #include "ntuser/NtUserGetClassInfo.c" +#include "ntuser/NtUserGetIconInfo.c" #include "ntuser/NtUserGetTitleBarInfo.c" #include "ntuser/NtUserProcessConnect.c" #include "ntuser/NtUserRedrawWindow.c" @@ -114,6 +115,7 @@ { L"NtUserEnumDisplaySettings", TEST_NtUserEnumDisplaySettings }, { L"NtUserFindExistingCursorIcon", Test_NtUserFindExistingCursoricon }, { L"NtUserGetClassInfo", Test_NtUserGetClassInfo }, + { L"NtUserGetIconInfo", Test_NtUserGetIconInfo }, { L"NtUserGetTitleBarInfo", Test_NtUserGetTitleBarInfo }, { L"NtUserProcessConnect", Test_NtUserProcessConnect }, { L"NtUserRedrawWindow", Test_NtUserRedrawWindow },
Modified: trunk/rostests/apitests/w32knapi/w32knapi.h URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/w32knapi... ============================================================================== --- trunk/rostests/apitests/w32knapi/w32knapi.h [iso-8859-1] (original) +++ trunk/rostests/apitests/w32knapi/w32knapi.h [iso-8859-1] Wed Jul 14 14:56:53 2010 @@ -47,6 +47,7 @@ extern ASPI gNOPARAM_ROUTINE_CREATEMENU; extern ASPI gNOPARAM_ROUTINE_CREATEMENUPOPUP; extern ASPI gNOPARAM_ROUTINE_LOADUSERAPIHOOK; +extern ASPI gONEPARAM_ROUTINE_CREATEEMPTYCUROBJECT; extern ASPI gONEPARAM_ROUTINE_MAPDEKTOPOBJECT; extern ASPI gONEPARAM_ROUTINE_SWAPMOUSEBUTTON; extern ASPI gHWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW; @@ -56,6 +57,7 @@ #define _NOPARAM_ROUTINE_CREATEMENU gNOPARAM_ROUTINE_CREATEMENU[g_OsIdx] #define _NOPARAM_ROUTINE_CREATEMENUPOPUP gNOPARAM_ROUTINE_CREATEMENUPOPUP[g_OsIdx] #define _NOPARAM_ROUTINE_LOADUSERAPIHOOK gNOPARAM_ROUTINE_LOADUSERAPIHOOK[g_OsIdx] +#define _ONEPARAM_ROUTINE_CREATEEMPTYCUROBJECT gONEPARAM_ROUTINE_CREATEEMPTYCUROBJECT[g_OsIdx] #define _ONEPARAM_ROUTINE_MAPDEKTOPOBJECT gONEPARAM_ROUTINE_MAPDEKTOPOBJECT[g_OsIdx] #define _ONEPARAM_ROUTINE_SWAPMOUSEBUTTON gONEPARAM_ROUTINE_SWAPMOUSEBUTTON[g_OsIdx] #define _HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW gHWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW[g_OsIdx]