9 START_TEST(LookupIconIdFromDirectoryEx
)
20 /* This tests assumes that default icon size is 32x32 */
37 {8, 1, 0, 0, LR_MONOCHROME
},
38 {8, 1, 48, 48, LR_MONOCHROME
},
39 {8, 2, 32, 32, LR_MONOCHROME
},
40 {8, 3, 24, 24, LR_MONOCHROME
},
41 {8, 4, 16, 16, LR_MONOCHROME
},
42 {8, 2, 0, 0, LR_DEFAULTSIZE
},
43 {8, 1, 48, 48, LR_DEFAULTSIZE
},
47 /* Non square sizes */
54 {16, 1, 0, 0, LR_MONOCHROME
},
55 {16, 1, 48, 48, LR_MONOCHROME
},
56 {16, 2, 32, 32, LR_MONOCHROME
},
57 {16, 3, 24, 24, LR_MONOCHROME
},
58 {16, 4, 16, 16, LR_MONOCHROME
},
59 {16, 6, 0, 0, LR_DEFAULTSIZE
},
60 {16, 5, 48, 48, LR_DEFAULTSIZE
},
67 {24, 1, 0, 0, LR_MONOCHROME
},
68 {24, 1, 48, 48, LR_MONOCHROME
},
69 {24, 2, 32, 32, LR_MONOCHROME
},
70 {24, 3, 24, 24, LR_MONOCHROME
},
71 {24, 4, 16, 16, LR_MONOCHROME
},
72 {24, 6, 0, 0, LR_DEFAULTSIZE
},
73 {24, 5, 48, 48, LR_DEFAULTSIZE
},
79 {32, 1, 0, 0, LR_MONOCHROME
},
80 {32, 1, 48, 48, LR_MONOCHROME
},
81 {32, 2, 32, 32, LR_MONOCHROME
},
82 {32, 3, 24, 24, LR_MONOCHROME
},
83 {32, 4, 16, 16, LR_MONOCHROME
},
84 {32, 10, 0, 0, LR_DEFAULTSIZE
},
85 {32, 9, 48, 48, LR_DEFAULTSIZE
},
88 hMod
= GetModuleHandle(NULL
);
89 ok(hMod
!= NULL
, "\n");
90 /* Find our cursor directory resource */
91 hResource
= FindResourceA(hMod
,
92 MAKEINTRESOURCE(IDI_TEST
),
94 ok(hResource
!= NULL
, "\n");
96 hMem
= LoadResource(hMod
, hResource
);
97 ok(hMem
!= NULL
, "\n");
99 lpResource
= LockResource(hMem
);
100 ok(lpResource
!= NULL
, "\n");
102 dm
.dmSize
= sizeof(dm
);
103 dm
.dmDriverExtra
= 0;
105 ok(EnumDisplaySettingsW(NULL
, ENUM_CURRENT_SETTINGS
, &dm
), "\n");
107 dwOrigBpp
= dm
.dmBitsPerPel
;
109 for (i
= 0; i
< sizeof(TestData
)/sizeof(TestData
[0]); i
++)
111 dm
.dmBitsPerPel
= TestData
[i
].bpp
;
112 if (ChangeDisplaySettingsExW(NULL
, &dm
, NULL
, 0, NULL
) != DISP_CHANGE_SUCCESSFUL
)
114 skip("Unable to change bpp to %lu.\n", dm
.dmBitsPerPel
);
117 wResId
= LookupIconIdFromDirectoryEx(lpResource
, TRUE
, TestData
[i
].cxDesired
, TestData
[i
].cyDesired
, TestData
[i
].flags
);
118 ok(wResId
== TestData
[i
].wResId
, "Got %d, expected %d for %dx%dx%lu, flags %x.\n",
121 TestData
[i
].cxDesired
,
122 TestData
[i
].cyDesired
,
128 dm
.dmBitsPerPel
= dwOrigBpp
;
129 ok(ChangeDisplaySettingsExW(NULL
, &dm
, NULL
, 0, NULL
) == DISP_CHANGE_SUCCESSFUL
, "\n");