mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 04:13:34 +00:00
[USER32_APITESTS]
- Add some test for DestroyCursor/DestroyIcon svn path=/trunk/; revision=57647
This commit is contained in:
@@ -3,6 +3,7 @@ list(APPEND SOURCE
|
||||
AttachThreadInput.c
|
||||
helper.c
|
||||
DeferWindowPos.c
|
||||
DestroyCursorIcon.c
|
||||
desktop.c
|
||||
GetIconInfo.c
|
||||
GetKeyState.c
|
||||
|
||||
@@ -0,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);
|
||||
}
|
||||
Reference in New Issue
Block a user