Author: jgardou Date: Mon Oct 29 16:12:49 2012 New Revision: 57647
URL: http://svn.reactos.org/svn/reactos?rev=57647&view=rev Log: [USER32_APITESTS] - Add some test for DestroyCursor/DestroyIcon
Added: trunk/rostests/apitests/user32/DestroyCursorIcon.c (with props) Modified: trunk/rostests/apitests/user32/CMakeLists.txt
Modified: trunk/rostests/apitests/user32/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/user32/CMakeLists... ============================================================================== --- trunk/rostests/apitests/user32/CMakeLists.txt [iso-8859-1] (original) +++ trunk/rostests/apitests/user32/CMakeLists.txt [iso-8859-1] Mon Oct 29 16:12:49 2012 @@ -3,6 +3,7 @@ AttachThreadInput.c helper.c DeferWindowPos.c + DestroyCursorIcon.c desktop.c GetIconInfo.c GetKeyState.c
Added: trunk/rostests/apitests/user32/DestroyCursorIcon.c URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/user32/DestroyCur... ============================================================================== --- trunk/rostests/apitests/user32/DestroyCursorIcon.c (added) +++ trunk/rostests/apitests/user32/DestroyCursorIcon.c [iso-8859-1] Mon Oct 29 16:12:49 2012 @@ -1,0 +1,49 @@ +#include <stdio.h> +#include <wine/test.h> +#include <windows.h> +#include "resource.h" + +START_TEST(DestroyCursorIcon) +{ + HICON hicon; + HCURSOR hcursor; + ICONINFO iconinfo; + + ZeroMemory(&iconinfo, sizeof(iconinfo)); + + iconinfo.hbmMask = CreateBitmap(8, 16, 1, 1, NULL); + ok(iconinfo.hbmMask != NULL, "\n"); + + /* + * Test if DestroyCursor can destroy an icon, and vice-versa . + * It can. + */ + iconinfo.fIcon = TRUE; + hicon = CreateIconIndirect(&iconinfo); + ok(hicon != 0, "should not fail\n"); + ok(DestroyCursor(hicon), "\n"); + ok(!DestroyIcon(hicon), "\n"); + + iconinfo.fIcon = FALSE; + hcursor = CreateIconIndirect(&iconinfo); + ok(hcursor != 0, "should not fail\n"); + ok(DestroyIcon(hcursor), "\n"); + ok(!DestroyCursor(hcursor), "\n"); + + /* Clean up */ + DeleteObject(iconinfo.hbmMask); + + /* Now check its behaviour regarding Shared icons/cursors */ + hcursor = LoadCursor(GetModuleHandle(NULL), "TESTCURSOR"); + ok(hcursor != 0, "\n"); + + /* MSDN says we shouldn't do that, but it still succeeds */ + ok(DestroyCursor(hcursor), "\n"); + + /* In fact, it's still there */ + ok(GetIconInfo(hcursor, &iconinfo), "\n"); + + /* clean up */ + DeleteObject(iconinfo.hbmMask); + DeleteObject(iconinfo.hbmColor); +}
Propchange: trunk/rostests/apitests/user32/DestroyCursorIcon.c ------------------------------------------------------------------------------ svn:eol-style = native