[ros-diffs] [jgardou] 48039: [W32KNAPI] - Test ONE_PARAM_ROUTINE_CREATEEMPTYCUROBJECT - Test NtUserGetIconInfo

jgardou at svn.reactos.org jgardou at svn.reactos.org
Wed Jul 14 14:56:54 UTC 2010


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/NtUserCallOneParam.c?rev=48039&r1=48038&r2=48039&view=diff
==============================================================================
--- 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/NtUserGetIconInfo.c?rev=48039&view=auto
==============================================================================
--- 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?rev=48039&r1=48038&r2=48039&view=diff
==============================================================================
--- 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.c?rev=48039&r1=48038&r2=48039&view=diff
==============================================================================
--- 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.h?rev=48039&r1=48038&r2=48039&view=diff
==============================================================================
--- 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]




More information about the Ros-diffs mailing list