[PATCH 1/3] gdi32/tests: Test GetDeviceCaps() for DCs on multiple monitor systems.
Zhiyi Zhang
zzhang at codeweavers.com
Wed Jan 20 07:25:32 CST 2021
On 1/20/21 7:23 PM, Huw Davies wrote:
> On Wed, Jan 20, 2021 at 04:39:48PM +0800, Zhiyi Zhang wrote:
>> Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
>> ---
>> dlls/gdi32/tests/dc.c | 220 ++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 220 insertions(+)
>>
>> diff --git a/dlls/gdi32/tests/dc.c b/dlls/gdi32/tests/dc.c
>> index 04703288302..aa6917d432d 100644
>> --- a/dlls/gdi32/tests/dc.c
>> +++ b/dlls/gdi32/tests/dc.c
>> @@ -1672,6 +1672,225 @@ static void test_clip_box(void)
>> + /* Test GetDeviceCaps() values after mode changes */
>> + memset(&dm2, 0, sizeof(dm2));
>> + dm2.dmSize = sizeof(dm2);
>> + for (mode_idx = 0; EnumDisplaySettingsA(NULL, mode_idx, &dm2); ++mode_idx)
>> + {
>> + if (dm2.dmPelsWidth != dm.dmPelsWidth && dm2.dmPelsHeight != dm.dmPelsHeight)
>> + break;
>> + }
>> + ok(dm2.dmPelsWidth && dm2.dmPelsWidth != dm.dmPelsWidth && dm2.dmPelsHeight != dm.dmPelsHeight,
>> + "Failed to find a different resolution.\n");
>> +
>> + res = ChangeDisplaySettingsExA(NULL, &dm2, NULL, CDS_RESET, NULL);
>> + ok(res == DISP_CHANGE_SUCCESSFUL || broken(res == DISP_CHANGE_FAILED), /* Win8 TestBots */
>> + "ChangeDisplaySettingsExA returned unexpected %d.\n", res);
> How important are the tests with a different mode? It would be
> nice not to have yet another mode change.
Basically to test that the values returned from GetDeviceCaps(HORZRES/VERTRES) are not static and can change
with display mode changes after DC creation. I think it would be better to keep them as such bugs are often
discovered between mode changes.
Thanks,
Zhiyi
>
> Huw.
More information about the wine-devel
mailing list