[W32KNAPI] - Add some more NtUserGetIconInfo tests
authorJérôme Gardou <jerome.gardou@reactos.org>
Sun, 18 Jul 2010 16:34:14 +0000 (16:34 +0000)
committerJérôme Gardou <jerome.gardou@reactos.org>
Sun, 18 Jul 2010 16:34:14 +0000 (16:34 +0000)
svn path=/trunk/; revision=48103

rostests/apitests/w32knapi/ntuser/NtUserGetIconInfo.c

index d0e1ec0..4c976cb 100644 (file)
@@ -4,6 +4,9 @@ Test_NtUserGetIconInfo(PTESTINFO pti)
        HICON hIcon;
        ICONINFO iinfo;
        HBITMAP mask, color;
        HICON hIcon;
        ICONINFO iinfo;
        HBITMAP mask, color;
+       UNICODE_STRING hInstStr;
+       UNICODE_STRING ResourceStr;
+       DWORD bpp = 0;
 
        ZeroMemory(&iinfo, sizeof(ICONINFO));
 
 
        ZeroMemory(&iinfo, sizeof(ICONINFO));
 
@@ -58,5 +61,43 @@ Test_NtUserGetIconInfo(PTESTINFO pti)
 
        DestroyIcon(hIcon);
 
 
        DestroyIcon(hIcon);
 
+       /* Test full param, with local icon */
+       hIcon = LoadImageA(GetModuleHandle(NULL),
+                                          MAKEINTRESOURCE(IDI_ICON),
+                                          IMAGE_ICON,
+                                          0,
+                                          0,
+                                          LR_DEFAULTSIZE);
+
+       TEST(hIcon != NULL);
+
+       RtlInitUnicodeString(&hInstStr, NULL);
+       RtlInitUnicodeString(&ResourceStr, NULL);
+
+       TEST(NtUserGetIconInfo(hIcon,
+                                                  &iinfo,
+                                                  &hInstStr,
+                                                  &ResourceStr,
+                                                  &bpp,
+                                                  FALSE) == TRUE);
+       
+       TESTX(hInstStr.Buffer == NULL, "hInstStr.buffer : %p\n", hInstStr.Buffer);
+       TEST((LPCTSTR)ResourceStr.Buffer == MAKEINTRESOURCE(IDI_ICON));
+       TEST(bpp == 32);
+
+       /* Last param doesn't seem to matter*/
+       TEST(NtUserGetIconInfo(hIcon,
+                                                  &iinfo,
+                                                  &hInstStr,
+                                                  &ResourceStr,
+                                                  &bpp,
+                                                  TRUE) == TRUE);
+
+       TESTX(hInstStr.Buffer == NULL, "hInstStr.buffer : %p\n", hInstStr.Buffer);
+       TEST((LPCTSTR)ResourceStr.Buffer == MAKEINTRESOURCE(IDI_ICON));
+       TEST(bpp == 32);
+
+       DestroyIcon(hIcon);
+
        return APISTATUS_NORMAL;
 }
\ No newline at end of file
        return APISTATUS_NORMAL;
 }
\ No newline at end of file