From: Dmitry Chapyshev Date: Sun, 11 Sep 2016 19:50:16 +0000 (+0000) Subject: [USER32_APITEST] Add tests for EnumDisplaySettingsA X-Git-Tag: backups/sndblst@72664~4 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=5e9b9699a68fff07c8bc5db5a338e7e23416fbfd [USER32_APITEST] Add tests for EnumDisplaySettingsA svn path=/trunk/; revision=72658 --- diff --git a/rostests/apitests/user32/EnumDisplaySettings.c b/rostests/apitests/user32/EnumDisplaySettings.c index 5c995488f60..0d058bb934b 100644 --- a/rostests/apitests/user32/EnumDisplaySettings.c +++ b/rostests/apitests/user32/EnumDisplaySettings.c @@ -3,13 +3,18 @@ #include #include -#define SIZEOF_DEVMODEW_300 188 -#define SIZEOF_DEVMODEW_400 212 -#define SIZEOF_DEVMODEW_500 220 +#define SIZEOF_DEVMODEW_300_W 188 +#define SIZEOF_DEVMODEW_400_W 212 +#define SIZEOF_DEVMODEW_500_W 220 + +#define SIZEOF_DEVMODEW_300_A 124 +#define SIZEOF_DEVMODEW_400_A 148 +#define SIZEOF_DEVMODEW_500_A 156 START_TEST(EnumDisplaySettings) { - DEVMODEW dm; + DEVMODEW dmW; + DEVMODEA dmA; HDC icDisplay; /* TODO: test with a printer driver */ @@ -17,44 +22,88 @@ START_TEST(EnumDisplaySettings) icDisplay = CreateICW(L"DISPLAY", NULL, NULL, NULL); ok(icDisplay != NULL, "\n"); - dm.dmDriverExtra = 0x7777; + dmW.dmDriverExtra = 0x7777; + + /* Try ridiculous size */ + dmW.dmSize = 0x8888; + ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dmW), "\n"); + ok(dmW.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmW.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL)); + ok(dmW.dmSize == SIZEOF_DEVMODEW_300_W, "%d\n", dmW.dmSize); + ok(dmW.dmDriverExtra == 0, "%d\n", dmW.dmDriverExtra); + + /* Try a tiny size */ + dmW.dmSize = 4; + ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dmW), "\n"); + ok(dmW.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmW.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL)); + ok(dmW.dmSize == SIZEOF_DEVMODEW_300_W, "%d\n", dmW.dmSize); + + /* Something in between */ + dmW.dmSize = (SIZEOF_DEVMODEW_300_W + SIZEOF_DEVMODEW_400_W) / 2 ; + ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dmW), "\n"); + ok(dmW.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmW.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL)); + ok(dmW.dmSize == SIZEOF_DEVMODEW_300_W, "%d\n", dmW.dmSize); + + /* WINVER < 0x0400 */ + dmW.dmSize = SIZEOF_DEVMODEW_300_W; + ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dmW), "\n"); + ok(dmW.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmW.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL)); + ok(dmW.dmSize == SIZEOF_DEVMODEW_300_W, "%d\n", dmW.dmSize); + + /* WINVER < 0x0500 */ + dmW.dmSize = SIZEOF_DEVMODEW_400_W; + ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dmW), "\n"); + ok(dmW.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmW.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL)); + ok(dmW.dmSize == SIZEOF_DEVMODEW_300_W, "%d\n", dmW.dmSize); + + /* "Modern" windows */ + dmW.dmSize = SIZEOF_DEVMODEW_500_W; + ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dmW), "\n"); + ok(dmW.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmW.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL)); + ok(dmW.dmSize == SIZEOF_DEVMODEW_300_W, "%d\n", dmW.dmSize); + + DeleteDC(icDisplay); + + icDisplay = CreateICA("DISPLAY", NULL, NULL, NULL); + ok(icDisplay != NULL, "\n"); + + dmA.dmDriverExtra = 0x7777; /* Try ridiculous size */ - dm.dmSize = 0x8888; - ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dm), "\n"); - ok(dm.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dm.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL)); - ok(dm.dmSize == SIZEOF_DEVMODEW_300, "%d\n", dm.dmSize); - ok(dm.dmDriverExtra == 0, "%d\n", dm.dmDriverExtra); + dmA.dmSize = 0x8888; + ok(EnumDisplaySettingsA(NULL, ENUM_CURRENT_SETTINGS, &dmA), "\n"); + ok(dmA.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmA.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL)); + ok(dmA.dmSize == SIZEOF_DEVMODEW_300_A, "%d\n", dmA.dmSize); + ok(dmA.dmDriverExtra == 0, "%d\n", dmA.dmDriverExtra); /* Try a tiny size */ - dm.dmSize = 4; - ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dm), "\n"); - ok(dm.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dm.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL)); - ok(dm.dmSize == SIZEOF_DEVMODEW_300, "%d\n", dm.dmSize); + dmA.dmSize = 4; + ok(EnumDisplaySettingsA(NULL, ENUM_CURRENT_SETTINGS, &dmA), "\n"); + ok(dmA.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmA.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL)); + ok(dmA.dmSize == SIZEOF_DEVMODEW_300_A, "%d\n", dmA.dmSize); /* Something in between */ - dm.dmSize = (SIZEOF_DEVMODEW_300 + SIZEOF_DEVMODEW_400) / 2 ; - ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dm), "\n"); - ok(dm.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dm.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL)); - ok(dm.dmSize == SIZEOF_DEVMODEW_300, "%d\n", dm.dmSize); + dmA.dmSize = (SIZEOF_DEVMODEW_300_A + SIZEOF_DEVMODEW_400_A) / 2 ; + ok(EnumDisplaySettingsA(NULL, ENUM_CURRENT_SETTINGS, &dmA), "\n"); + ok(dmA.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmA.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL)); + ok(dmA.dmSize == SIZEOF_DEVMODEW_300_A, "%d\n", dmA.dmSize); /* WINVER < 0x0400 */ - dm.dmSize = SIZEOF_DEVMODEW_300; - ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dm), "\n"); - ok(dm.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dm.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL)); - ok(dm.dmSize == SIZEOF_DEVMODEW_300, "%d\n", dm.dmSize); + dmA.dmSize = SIZEOF_DEVMODEW_300_A; + ok(EnumDisplaySettingsA(NULL, ENUM_CURRENT_SETTINGS, &dmA), "\n"); + ok(dmA.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmA.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL)); + ok(dmA.dmSize == SIZEOF_DEVMODEW_300_A, "%d\n", dmA.dmSize); /* WINVER < 0x0500 */ - dm.dmSize = SIZEOF_DEVMODEW_400; - ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dm), "\n"); - ok(dm.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dm.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL)); - ok(dm.dmSize == SIZEOF_DEVMODEW_300, "%d\n", dm.dmSize); + dmA.dmSize = SIZEOF_DEVMODEW_400_A; + ok(EnumDisplaySettingsA(NULL, ENUM_CURRENT_SETTINGS, &dmA), "\n"); + ok(dmA.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmA.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL)); + ok(dmA.dmSize == SIZEOF_DEVMODEW_300_A, "%d\n", dmA.dmSize); /* "Modern" windows */ - dm.dmSize = SIZEOF_DEVMODEW_500; - ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dm), "\n"); - ok(dm.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dm.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL)); - ok(dm.dmSize == SIZEOF_DEVMODEW_300, "%d\n", dm.dmSize); + dmA.dmSize = SIZEOF_DEVMODEW_500_A; + ok(EnumDisplaySettingsA(NULL, ENUM_CURRENT_SETTINGS, &dmA), "\n"); + ok(dmA.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmA.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL)); + ok(dmA.dmSize == SIZEOF_DEVMODEW_300_A, "%d\n", dmA.dmSize); DeleteDC(icDisplay); }