From 9072dbd2f2c4c62c8465f812bba9d7a85bff343f Mon Sep 17 00:00:00 2001 From: Huw Davies Date: Fri, 21 Apr 2017 09:49:25 +0100 Subject: [PATCH] shell32/tests: Add a test for the size of the icon returned by ExtractIcons(). Signed-off-by: Huw Davies Signed-off-by: Alexandre Julliard --- dlls/shell32/tests/Makefile.in | 2 +- dlls/shell32/tests/shelllink.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/dlls/shell32/tests/Makefile.in b/dlls/shell32/tests/Makefile.in index cfe0c5086e0..4bde0949229 100644 --- a/dlls/shell32/tests/Makefile.in +++ b/dlls/shell32/tests/Makefile.in @@ -1,5 +1,5 @@ TESTDLL = shell32.dll -IMPORTS = shell32 ole32 oleaut32 user32 advapi32 +IMPORTS = shell32 ole32 oleaut32 user32 gdi32 advapi32 C_SRCS = \ appbar.c \ diff --git a/dlls/shell32/tests/shelllink.c b/dlls/shell32/tests/shelllink.c index fdf2b147023..c88e344b587 100644 --- a/dlls/shell32/tests/shelllink.c +++ b/dlls/shell32/tests/shelllink.c @@ -1159,6 +1159,8 @@ static void test_ExtractIcon(void) char path[MAX_PATH]; HANDLE file; int r; + ICONINFO info; + BITMAP bm; /* specified instance handle */ hicon = ExtractIconA(GetModuleHandleA("shell32.dll"), NULL, 0); @@ -1214,6 +1216,10 @@ if (0) /* existing index */ hicon = ExtractIconW(NULL, shell32W, 0); ok(hicon != NULL && HandleToLong(hicon) != -1, "Got icon %p\n", hicon); + GetIconInfo(hicon, &info); + GetObjectW(info.hbmColor, sizeof(bm), &bm); + ok(bm.bmWidth == GetSystemMetrics(SM_CXICON), "got %d\n", bm.bmWidth); + ok(bm.bmHeight == GetSystemMetrics(SM_CYICON), "got %d\n", bm.bmHeight); DestroyIcon(hicon); /* returns number of resources */