reactos/rostests/apitests/w32knapi/ntuser/NtUserGetIconInfo.c
Jérôme Gardou 8ad729230c [W32KNAPI]
- Test ONE_PARAM_ROUTINE_CREATEEMPTYCUROBJECT
  - Test NtUserGetIconInfo

svn path=/trunk/; revision=48039
2010-07-14 14:56:53 +00:00

62 lines
1.4 KiB
C

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;
}