[PATCH] comctl32/tests: Add a basic test for ImageList_WriteEx().
Nikolay Sivov
nsivov at codeweavers.com
Tue Jan 4 08:30:02 CST 2022
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
dlls/comctl32/tests/imagelist.c | 25 +++++++++++++++++++++++++
include/commctrl.h | 4 ++++
2 files changed, 29 insertions(+)
diff --git a/dlls/comctl32/tests/imagelist.c b/dlls/comctl32/tests/imagelist.c
index ed9b1cc97f2..66a70982e6f 100644
--- a/dlls/comctl32/tests/imagelist.c
+++ b/dlls/comctl32/tests/imagelist.c
@@ -88,6 +88,7 @@ static HIMAGELIST (WINAPI *pImageList_Read)(IStream *);
static BOOL (WINAPI *pImageList_Copy)(HIMAGELIST, int, HIMAGELIST, int, UINT);
static HIMAGELIST (WINAPI *pImageList_LoadImageW)(HINSTANCE, LPCWSTR, int, int, COLORREF, UINT, UINT);
static BOOL (WINAPI *pImageList_Draw)(HIMAGELIST,INT,HDC,INT,INT,UINT);
+static HRESULT (WINAPI *pImageList_WriteEx)(HIMAGELIST himl, DWORD flags, IStream *stream);
static HINSTANCE hinst;
@@ -2574,6 +2575,28 @@ static void test_IImageList_GetIconSize(void)
IImageList_Release(imgl);
}
+static void test_ImageList_WriteEx(void)
+{
+ HIMAGELIST himl;
+ IStream *stream;
+ HRESULT hr;
+
+ himl = pImageList_Create(24, 24, ILC_COLOR24, 1, 1);
+ ok(himl != 0, "Failed to create an imagelist.\n");
+
+ hr = CreateStreamOnHGlobal(NULL, TRUE, &stream);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+
+ hr = pImageList_WriteEx(himl, ILP_NORMAL, stream);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+
+ hr = pImageList_WriteEx(himl, ILP_DOWNLEVEL, stream);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+
+ IStream_Release(stream);
+ pImageList_Destroy(himl);
+}
+
static void init_functions(void)
{
HMODULE hComCtl32 = LoadLibraryA("comctl32.dll");
@@ -2601,6 +2624,7 @@ static void init_functions(void)
X(ImageList_Merge);
X(ImageList_GetImageInfo);
X(ImageList_Write);
+ X(ImageList_WriteEx);
X(ImageList_Read);
X(ImageList_Copy);
X(ImageList_LoadImageW);
@@ -2669,6 +2693,7 @@ START_TEST(imagelist)
test_IImageList_SetBkColor();
test_IImageList_GetImageCount();
test_IImageList_GetIconSize();
+ test_ImageList_WriteEx();
CoUninitialize();
diff --git a/include/commctrl.h b/include/commctrl.h
index c6d9dd32928..164de374604 100644
--- a/include/commctrl.h
+++ b/include/commctrl.h
@@ -602,6 +602,10 @@ BOOL WINAPI ImageList_SetOverlayImage(HIMAGELIST,INT,INT);
#ifdef __IStream_INTERFACE_DEFINED__
HIMAGELIST WINAPI ImageList_Read(LPSTREAM);
BOOL WINAPI ImageList_Write(HIMAGELIST,IStream*);
+
+#define ILP_NORMAL 0
+#define ILP_DOWNLEVEL 1
+
HRESULT WINAPI ImageList_WriteEx(HIMAGELIST,DWORD,IStream*);
#endif
--
2.34.1
More information about the wine-devel
mailing list