1 /*
2 * PROJECT: ReactOS api tests
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PURPOSE: Test for GetSystemMetrics
5 * PROGRAMMERS: Timo Kreuzer
6 */
7
8 #include "precomp.h"
9
Test_GetSystemMetrics()10 void Test_GetSystemMetrics()
11 {
12 INT ret;
13 HDC hDC;
14 BOOL BoolVal;
15 UINT UintVal;
16 RECT rect;
17
18 SetLastError(0);
19 hDC = GetDC(0);
20
21 ret = GetSystemMetrics(0);
22 ok(ret > 0, "ret = %d\n", ret);
23
24 ret = GetSystemMetrics(64);
25 ok(ret == 0, "ret = %d\n", ret);
26 ret = GetSystemMetrics(65);
27 ok(ret == 0, "ret = %d\n", ret);
28 ret = GetSystemMetrics(66);
29 ok(ret == 0, "ret = %d\n", ret);
30
31
32 ret = GetSystemMetrics(SM_CXSCREEN);
33 ok(ret == GetDeviceCaps(hDC, HORZRES), "ret = %d\n", ret);
34 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
35
36 ret = GetSystemMetrics(SM_CYSCREEN);
37 ok(ret == GetDeviceCaps(hDC, VERTRES), "ret = %d\n", ret);
38 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
39
40 ret = GetSystemMetrics(SM_CXVSCROLL);
41 // TEST(ret == 0);
42 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
43
44 ret = GetSystemMetrics(SM_CYHSCROLL);
45 // TEST(ret == 0);
46 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
47
48 ret = GetSystemMetrics(SM_CYCAPTION);
49 // TEST(ret == 0);
50 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
51
52 ret = GetSystemMetrics(SM_CXBORDER);
53 SystemParametersInfoW(SPI_GETFOCUSBORDERWIDTH, 0, &UintVal, 0);
54 ok(ret == UintVal, "ret = %d\n", ret);
55 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
56
57 ret = GetSystemMetrics(SM_CYBORDER);
58 SystemParametersInfoW(SPI_GETFOCUSBORDERHEIGHT, 0, &UintVal, 0);
59 ok(ret == UintVal, "ret = %d\n", ret);
60 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
61
62 ret = GetSystemMetrics(SM_CXDLGFRAME);
63 // TEST(ret == 0);
64 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
65
66 ret = GetSystemMetrics(SM_CYDLGFRAME);
67 // TEST(ret == 0);
68 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
69
70 ret = GetSystemMetrics(SM_CYVTHUMB);
71 // TEST(ret == 0);
72 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
73
74 ret = GetSystemMetrics(SM_CXHTHUMB);
75 // TEST(ret == 0);
76 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
77
78 ret = GetSystemMetrics(SM_CXICON);
79 // TEST(ret == 0);
80 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
81
82 ret = GetSystemMetrics(SM_CYICON);
83 // TEST(ret == 0);
84 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
85
86 ret = GetSystemMetrics(SM_CXCURSOR);
87 // TEST(ret == 0);
88 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
89
90 ret = GetSystemMetrics(SM_CYCURSOR);
91 // TEST(ret == 0);
92 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
93
94 ret = GetSystemMetrics(SM_CYMENU);
95 // TEST(ret == 0);
96 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
97
98 SystemParametersInfoW(SPI_GETWORKAREA, 0, &rect, 0);
99 ret = GetSystemMetrics(SM_CXFULLSCREEN);
100 ok(ret == rect.right, "ret = %d\n", ret);
101 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
102
103 ret = GetSystemMetrics(SM_CYFULLSCREEN);
104 ok(ret == rect.bottom - rect.top - GetSystemMetrics(SM_CYCAPTION), "ret = %d\n", ret);
105 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
106
107 ret = GetSystemMetrics(SM_CYKANJIWINDOW);
108 // TEST(ret == 0);
109 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
110
111 ret = GetSystemMetrics(SM_MOUSEPRESENT);
112 ok(ret == 1, "ret = %d", ret);
113 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
114
115 ret = GetSystemMetrics(SM_CYVSCROLL);
116 // TEST(ret == 0);
117 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
118
119 ret = GetSystemMetrics(SM_CXHSCROLL);
120 // TEST(ret == 0);
121 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
122
123 ret = GetSystemMetrics(SM_DEBUG);
124 // TEST(ret == 0);
125 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
126
127 ret = GetSystemMetrics(SM_SWAPBUTTON);
128 // TEST(ret == 0);
129 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
130
131 ret = GetSystemMetrics(SM_RESERVED1);
132 // TEST(ret == 0);
133 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
134
135 ret = GetSystemMetrics(SM_RESERVED2);
136 // TEST(ret == 0);
137 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
138
139 ret = GetSystemMetrics(SM_RESERVED3);
140 // TEST(ret == 0);
141 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
142
143 ret = GetSystemMetrics(SM_RESERVED4);
144 // TEST(ret == 0);
145 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
146
147 ret = GetSystemMetrics(SM_CXMIN);
148 // TEST(ret == 0);
149 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
150
151 ret = GetSystemMetrics(SM_CYMIN);
152 // TEST(ret == 0);
153 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
154
155 ret = GetSystemMetrics(SM_CXSIZE);
156 // TEST(ret == 0);
157 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
158
159 ret = GetSystemMetrics(SM_CYSIZE);
160 // TEST(ret == 0);
161 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
162
163 ret = GetSystemMetrics(SM_CXFRAME);
164 // TEST(ret == 0);
165 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
166
167 ret = GetSystemMetrics(SM_CYFRAME);
168 // TEST(ret == 0);
169 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
170
171 ret = GetSystemMetrics(SM_CXMINTRACK);
172 // TEST(ret == 0);
173 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
174
175 ret = GetSystemMetrics(SM_CYMINTRACK);
176 // TEST(ret == 0);
177 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
178
179 ret = GetSystemMetrics(SM_CXDOUBLECLK);
180 // TEST(ret == 0);
181 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
182
183 ret = GetSystemMetrics(SM_CYDOUBLECLK);
184 // TEST(ret == 0);
185 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
186
187 ret = GetSystemMetrics(SM_CXICONSPACING);
188 // TEST(ret == 0);
189 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
190
191 ret = GetSystemMetrics(SM_CYICONSPACING);
192 // TEST(ret == 0);
193 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
194
195 ret = GetSystemMetrics(SM_MENUDROPALIGNMENT);
196 // TEST(ret == 0);
197 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
198
199 ret = GetSystemMetrics(SM_PENWINDOWS);
200 // TEST(ret == 0);
201 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
202
203 ret = GetSystemMetrics(SM_DBCSENABLED);
204 // TEST(ret == 0);
205 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
206
207 ret = GetSystemMetrics(SM_CMOUSEBUTTONS);
208 // TEST(ret == 0);
209 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
210
211 #if(WINVER >= 0x0400)
212 ret = GetSystemMetrics(SM_SECURE);
213 // TEST(ret == 0);
214 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
215
216 ret = GetSystemMetrics(SM_CXEDGE);
217 // TEST(ret == 0);
218 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
219
220 ret = GetSystemMetrics(SM_CYEDGE);
221 // TEST(ret == 0);
222 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
223
224 ret = GetSystemMetrics(SM_CXMINSPACING);
225 // TEST(ret == 0);
226 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
227
228 ret = GetSystemMetrics(SM_CYMINSPACING);
229 // TEST(ret == 0);
230 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
231
232 ret = GetSystemMetrics(SM_CXSMICON);
233 // TEST(ret == 0);
234 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
235
236 ret = GetSystemMetrics(SM_CYSMICON);
237 // TEST(ret == 0);
238 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
239
240 ret = GetSystemMetrics(SM_CYSMCAPTION);
241 // TEST(ret == 0);
242 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
243
244 ret = GetSystemMetrics(SM_CXSMSIZE);
245 // TEST(ret == 0);
246 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
247
248 ret = GetSystemMetrics(SM_CYSMSIZE);
249 // TEST(ret == 0);
250 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
251
252 ret = GetSystemMetrics(SM_CXMENUSIZE);
253 // TEST(ret == 0);
254 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
255
256 ret = GetSystemMetrics(SM_CYMENUSIZE);
257 // TEST(ret == 0);
258 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
259
260 ret = GetSystemMetrics(SM_ARRANGE);
261 // TEST(ret == 0);
262 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
263
264 ret = GetSystemMetrics(SM_CXMINIMIZED);
265 // TEST(ret == 0);
266 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
267
268 ret = GetSystemMetrics(SM_CYMINIMIZED);
269 // TEST(ret == 0);
270 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
271
272 ret = GetSystemMetrics(SM_CXMAXTRACK);
273 // TEST(ret == 0);
274 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
275
276 ret = GetSystemMetrics(SM_CYMAXTRACK);
277 // TEST(ret == 0);
278 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
279
280 ret = GetSystemMetrics(SM_CXMAXIMIZED);
281 // TEST(ret == 0);
282 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
283
284 ret = GetSystemMetrics(SM_CYMAXIMIZED);
285 // TEST(ret == 0);
286 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
287
288 ret = GetSystemMetrics(SM_NETWORK);
289 // TEST(ret == 0);
290 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
291
292 ret = GetSystemMetrics(SM_CLEANBOOT);
293 // TEST(ret == 0);
294 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
295
296 ret = GetSystemMetrics(SM_CXDRAG);
297 // TEST(ret == 0);
298 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
299
300 ret = GetSystemMetrics(SM_CYDRAG);
301 // TEST(ret == 0);
302 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
303
304 ret = GetSystemMetrics(SM_SHOWSOUNDS);
305 SystemParametersInfoW(SPI_GETSHOWSOUNDS, 0, &BoolVal, 0);
306 ok(ret == BoolVal, "ret = %d\n", ret);
307 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
308
309 ret = GetSystemMetrics(SM_CXMENUCHECK);
310 // TEST(ret == 0);
311 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
312
313 ret = GetSystemMetrics(SM_CYMENUCHECK);
314 // TEST(ret == 0);
315 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
316
317 ret = GetSystemMetrics(SM_SLOWMACHINE);
318 // TEST(ret == 0);
319 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
320
321 ret = GetSystemMetrics(SM_MIDEASTENABLED);
322 // TEST(ret == 0);
323 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
324 #endif
325
326 #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)
327 ret = GetSystemMetrics(SM_MOUSEWHEELPRESENT);
328 // TEST(ret == 0);
329 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
330 #endif
331
332 #if(WINVER >= 0x0500)
333 ret = GetSystemMetrics(SM_XVIRTUALSCREEN);
334 // TEST(ret == 0);
335 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
336
337 ret = GetSystemMetrics(SM_YVIRTUALSCREEN);
338 // TEST(ret == 0);
339 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
340
341 ret = GetSystemMetrics(SM_CXVIRTUALSCREEN);
342 // TEST(ret == 0);
343 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
344
345 ret = GetSystemMetrics(SM_CYVIRTUALSCREEN);
346 // TEST(ret == 0);
347 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
348
349 ret = GetSystemMetrics(SM_CMONITORS);
350 // TEST(ret == 0);
351 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
352
353 ret = GetSystemMetrics(SM_SAMEDISPLAYFORMAT);
354 // TEST(ret == 0);
355 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
356 #endif
357
358 #if(_WIN32_WINNT >= 0x0500)
359 ret = GetSystemMetrics(SM_IMMENABLED);
360 ok(ret == 0 || ret == 1, "ret = %d\n", ret);
361 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
362 #endif
363
364 #if(_WIN32_WINNT >= 0x0501)
365 ret = GetSystemMetrics(SM_CXFOCUSBORDER);
366 SystemParametersInfoW(SPI_GETFOCUSBORDERWIDTH, 0, &UintVal, 0);
367 ok(ret == UintVal, "ret = %d\n", ret);
368 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
369
370 ret = GetSystemMetrics(SM_CYFOCUSBORDER);
371 SystemParametersInfoW(SPI_GETFOCUSBORDERHEIGHT, 0, &UintVal, 0);
372 ok(ret == UintVal, "ret = %d\n", ret);
373 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
374
375 ret = GetSystemMetrics(SM_TABLETPC);
376 // TEST(ret == 0);
377 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
378
379 ret = GetSystemMetrics(SM_MEDIACENTER);
380 // TEST(ret == 0);
381 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
382
383 ret = GetSystemMetrics(SM_STARTER);
384 // TEST(ret == 0);
385 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
386
387 ret = GetSystemMetrics(SM_SERVERR2);
388 // TEST(ret == 0);
389 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
390 #endif
391
392 #if(_WIN32_WINNT >= 0x0600)
393 ret = GetSystemMetrics(SM_MOUSEHORIZONTALWHEELPRESENT);
394 // TEST(ret == 0);
395 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
396
397 ret = GetSystemMetrics(SM_CXPADDEDBORDER);
398 // TEST(ret == 0);
399 ok(GetLastError() == 0, "GetLastError() = %ld\n", GetLastError());
400 #endif
401
402 }
403
START_TEST(GetSystemMetrics)404 START_TEST(GetSystemMetrics)
405 {
406 Test_GetSystemMetrics();
407 }
408