Nikolay Sivov : shell32/tests: Some tests for ExtractAssociatedIcon().
Alexandre Julliard
julliard at winehq.org
Mon Jan 9 15:22:29 CST 2017
Module: wine
Branch: master
Commit: bd42aaa801c4bfb5bb2886f42270586d9e9d1438
URL: http://source.winehq.org/git/wine.git/?a=commit;h=bd42aaa801c4bfb5bb2886f42270586d9e9d1438
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Sun Jan 8 21:54:47 2017 +0300
shell32/tests: Some tests for ExtractAssociatedIcon().
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/shell32/tests/shelllink.c | 52 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/dlls/shell32/tests/shelllink.c b/dlls/shell32/tests/shelllink.c
index 293f69c..b789db4 100644
--- a/dlls/shell32/tests/shelllink.c
+++ b/dlls/shell32/tests/shelllink.c
@@ -1246,6 +1246,57 @@ todo_wine
ok(r, "failed to delete file %s (%d)\n", path, GetLastError());
}
+static void test_ExtractAssociatedIcon(void)
+{
+ char pathA[MAX_PATH];
+ HICON hicon;
+ WORD index;
+
+ /* empty path */
+ index = 0;
+ *pathA = 0;
+ hicon = ExtractAssociatedIconA(NULL, pathA, &index);
+todo_wine {
+ ok(hicon != NULL, "Got icon %p\n", hicon);
+ ok(!*pathA, "Unexpected path %s\n", pathA);
+ ok(index == 0, "Unexpected index %u\n", index);
+}
+ DestroyIcon(hicon);
+
+ /* by index */
+ index = 0;
+ strcpy(pathA, "shell32.dll");
+ hicon = ExtractAssociatedIconA(NULL, pathA, &index);
+ ok(hicon != NULL, "Got icon %p\n", hicon);
+ ok(!strcmp(pathA, "shell32.dll"), "Unexpected path %s\n", pathA);
+ ok(index == 0, "Unexpected index %u\n", index);
+ DestroyIcon(hicon);
+
+ /* valid dll name, invalid index */
+ index = 5000;
+ strcpy(pathA, "user32.dll");
+ hicon = ExtractAssociatedIconA(NULL, pathA, &index);
+ CharLowerBuffA(pathA, -1);
+todo_wine {
+ ok(hicon != NULL, "Got icon %p\n", hicon);
+ ok(!!strstr(pathA, "shell32.dll"), "Unexpected path %s\n", pathA);
+}
+ ok(index != 5000, "Unexpected index %u\n", index);
+ DestroyIcon(hicon);
+
+ /* associated icon */
+ index = 0xcaca;
+ strcpy(pathA, "dummy.exe");
+ hicon = ExtractAssociatedIconA(NULL, pathA, &index);
+ CharLowerBuffA(pathA, -1);
+todo_wine {
+ ok(hicon != NULL, "Got icon %p\n", hicon);
+ ok(!!strstr(pathA, "shell32.dll"), "Unexpected path %s\n", pathA);
+}
+ ok(index != 0xcaca, "Unexpected index %u\n", index);
+ DestroyIcon(hicon);
+}
+
START_TEST(shelllink)
{
HRESULT r;
@@ -1275,6 +1326,7 @@ START_TEST(shelllink)
test_SHExtractIcons();
test_propertystore();
test_ExtractIcon();
+ test_ExtractAssociatedIcon();
CoUninitialize();
}
More information about the wine-cvs
mailing list