Skip to content

Commit 5e9b969

Browse files
author
Dmitry Chapyshev
committed
[USER32_APITEST] Add tests for EnumDisplaySettingsA
svn path=/trunk/; revision=72658
1 parent 35d7778 commit 5e9b969

File tree

1 file changed

+79
-30
lines changed

1 file changed

+79
-30
lines changed

rostests/apitests/user32/EnumDisplaySettings.c

Lines changed: 79 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,58 +3,107 @@
33
#include <wingdi.h>
44
#include <winuser.h>
55

6-
#define SIZEOF_DEVMODEW_300 188
7-
#define SIZEOF_DEVMODEW_400 212
8-
#define SIZEOF_DEVMODEW_500 220
6+
#define SIZEOF_DEVMODEW_300_W 188
7+
#define SIZEOF_DEVMODEW_400_W 212
8+
#define SIZEOF_DEVMODEW_500_W 220
9+
10+
#define SIZEOF_DEVMODEW_300_A 124
11+
#define SIZEOF_DEVMODEW_400_A 148
12+
#define SIZEOF_DEVMODEW_500_A 156
913

1014
START_TEST(EnumDisplaySettings)
1115
{
12-
DEVMODEW dm;
16+
DEVMODEW dmW;
17+
DEVMODEA dmA;
1318
HDC icDisplay;
1419

1520
/* TODO: test with a printer driver */
1621

1722
icDisplay = CreateICW(L"DISPLAY", NULL, NULL, NULL);
1823
ok(icDisplay != NULL, "\n");
1924

20-
dm.dmDriverExtra = 0x7777;
25+
dmW.dmDriverExtra = 0x7777;
26+
27+
/* Try ridiculous size */
28+
dmW.dmSize = 0x8888;
29+
ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dmW), "\n");
30+
ok(dmW.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmW.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL));
31+
ok(dmW.dmSize == SIZEOF_DEVMODEW_300_W, "%d\n", dmW.dmSize);
32+
ok(dmW.dmDriverExtra == 0, "%d\n", dmW.dmDriverExtra);
33+
34+
/* Try a tiny size */
35+
dmW.dmSize = 4;
36+
ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dmW), "\n");
37+
ok(dmW.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmW.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL));
38+
ok(dmW.dmSize == SIZEOF_DEVMODEW_300_W, "%d\n", dmW.dmSize);
39+
40+
/* Something in between */
41+
dmW.dmSize = (SIZEOF_DEVMODEW_300_W + SIZEOF_DEVMODEW_400_W) / 2 ;
42+
ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dmW), "\n");
43+
ok(dmW.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmW.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL));
44+
ok(dmW.dmSize == SIZEOF_DEVMODEW_300_W, "%d\n", dmW.dmSize);
45+
46+
/* WINVER < 0x0400 */
47+
dmW.dmSize = SIZEOF_DEVMODEW_300_W;
48+
ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dmW), "\n");
49+
ok(dmW.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmW.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL));
50+
ok(dmW.dmSize == SIZEOF_DEVMODEW_300_W, "%d\n", dmW.dmSize);
51+
52+
/* WINVER < 0x0500 */
53+
dmW.dmSize = SIZEOF_DEVMODEW_400_W;
54+
ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dmW), "\n");
55+
ok(dmW.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmW.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL));
56+
ok(dmW.dmSize == SIZEOF_DEVMODEW_300_W, "%d\n", dmW.dmSize);
57+
58+
/* "Modern" windows */
59+
dmW.dmSize = SIZEOF_DEVMODEW_500_W;
60+
ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dmW), "\n");
61+
ok(dmW.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmW.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL));
62+
ok(dmW.dmSize == SIZEOF_DEVMODEW_300_W, "%d\n", dmW.dmSize);
63+
64+
DeleteDC(icDisplay);
65+
66+
icDisplay = CreateICA("DISPLAY", NULL, NULL, NULL);
67+
ok(icDisplay != NULL, "\n");
68+
69+
dmA.dmDriverExtra = 0x7777;
2170

2271
/* Try ridiculous size */
23-
dm.dmSize = 0x8888;
24-
ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dm), "\n");
25-
ok(dm.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dm.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL));
26-
ok(dm.dmSize == SIZEOF_DEVMODEW_300, "%d\n", dm.dmSize);
27-
ok(dm.dmDriverExtra == 0, "%d\n", dm.dmDriverExtra);
72+
dmA.dmSize = 0x8888;
73+
ok(EnumDisplaySettingsA(NULL, ENUM_CURRENT_SETTINGS, &dmA), "\n");
74+
ok(dmA.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmA.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL));
75+
ok(dmA.dmSize == SIZEOF_DEVMODEW_300_A, "%d\n", dmA.dmSize);
76+
ok(dmA.dmDriverExtra == 0, "%d\n", dmA.dmDriverExtra);
2877

2978
/* Try a tiny size */
30-
dm.dmSize = 4;
31-
ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dm), "\n");
32-
ok(dm.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dm.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL));
33-
ok(dm.dmSize == SIZEOF_DEVMODEW_300, "%d\n", dm.dmSize);
79+
dmA.dmSize = 4;
80+
ok(EnumDisplaySettingsA(NULL, ENUM_CURRENT_SETTINGS, &dmA), "\n");
81+
ok(dmA.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmA.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL));
82+
ok(dmA.dmSize == SIZEOF_DEVMODEW_300_A, "%d\n", dmA.dmSize);
3483

3584
/* Something in between */
36-
dm.dmSize = (SIZEOF_DEVMODEW_300 + SIZEOF_DEVMODEW_400) / 2 ;
37-
ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dm), "\n");
38-
ok(dm.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dm.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL));
39-
ok(dm.dmSize == SIZEOF_DEVMODEW_300, "%d\n", dm.dmSize);
85+
dmA.dmSize = (SIZEOF_DEVMODEW_300_A + SIZEOF_DEVMODEW_400_A) / 2 ;
86+
ok(EnumDisplaySettingsA(NULL, ENUM_CURRENT_SETTINGS, &dmA), "\n");
87+
ok(dmA.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmA.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL));
88+
ok(dmA.dmSize == SIZEOF_DEVMODEW_300_A, "%d\n", dmA.dmSize);
4089

4190
/* WINVER < 0x0400 */
42-
dm.dmSize = SIZEOF_DEVMODEW_300;
43-
ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dm), "\n");
44-
ok(dm.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dm.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL));
45-
ok(dm.dmSize == SIZEOF_DEVMODEW_300, "%d\n", dm.dmSize);
91+
dmA.dmSize = SIZEOF_DEVMODEW_300_A;
92+
ok(EnumDisplaySettingsA(NULL, ENUM_CURRENT_SETTINGS, &dmA), "\n");
93+
ok(dmA.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmA.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL));
94+
ok(dmA.dmSize == SIZEOF_DEVMODEW_300_A, "%d\n", dmA.dmSize);
4695

4796
/* WINVER < 0x0500 */
48-
dm.dmSize = SIZEOF_DEVMODEW_400;
49-
ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dm), "\n");
50-
ok(dm.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dm.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL));
51-
ok(dm.dmSize == SIZEOF_DEVMODEW_300, "%d\n", dm.dmSize);
97+
dmA.dmSize = SIZEOF_DEVMODEW_400_A;
98+
ok(EnumDisplaySettingsA(NULL, ENUM_CURRENT_SETTINGS, &dmA), "\n");
99+
ok(dmA.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmA.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL));
100+
ok(dmA.dmSize == SIZEOF_DEVMODEW_300_A, "%d\n", dmA.dmSize);
52101

53102
/* "Modern" windows */
54-
dm.dmSize = SIZEOF_DEVMODEW_500;
55-
ok(EnumDisplaySettingsW(NULL, ENUM_CURRENT_SETTINGS, &dm), "\n");
56-
ok(dm.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dm.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL));
57-
ok(dm.dmSize == SIZEOF_DEVMODEW_300, "%d\n", dm.dmSize);
103+
dmA.dmSize = SIZEOF_DEVMODEW_500_A;
104+
ok(EnumDisplaySettingsA(NULL, ENUM_CURRENT_SETTINGS, &dmA), "\n");
105+
ok(dmA.dmBitsPerPel == GetDeviceCaps(icDisplay, BITSPIXEL), "%lu, should be %d.\n", dmA.dmBitsPerPel, GetDeviceCaps(icDisplay, BITSPIXEL));
106+
ok(dmA.dmSize == SIZEOF_DEVMODEW_300_A, "%d\n", dmA.dmSize);
58107

59108
DeleteDC(icDisplay);
60109
}

0 commit comments

Comments
 (0)