Module: wine Branch: master Commit: 3bf42961a826b7bc8060f1bcc9a5ce00c7b443d5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3bf42961a826b7bc8060f1bcc9...
Author: Francois Gouget fgouget@codeweavers.com Date: Thu Feb 22 12:43:06 2007 +0100
user32/tests: Fix the ChangeDisplaySettingsEx() test so it succeeds on NT4.
---
dlls/user32/tests/monitor.c | 39 +++++++++++++++++++++------------------ 1 files changed, 21 insertions(+), 18 deletions(-)
diff --git a/dlls/user32/tests/monitor.c b/dlls/user32/tests/monitor.c index a4ea8ec..edb881a 100644 --- a/dlls/user32/tests/monitor.c +++ b/dlls/user32/tests/monitor.c @@ -104,26 +104,26 @@ static void test_enumdisplaydevices(void) struct vid_mode { DWORD w, h, bpp, freq, fields; - LONG res; + LONG success; };
static struct vid_mode vid_modes_test[] = { - {640, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL | DM_DISPLAYFREQUENCY, DISP_CHANGE_SUCCESSFUL}, - {640, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT | DM_DISPLAYFREQUENCY, DISP_CHANGE_SUCCESSFUL}, - {640, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL , DISP_CHANGE_SUCCESSFUL}, - {640, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT , DISP_CHANGE_SUCCESSFUL}, - {640, 480, 0, 0, DM_BITSPERPEL , DISP_CHANGE_SUCCESSFUL}, - {640, 480, 0, 0, DM_DISPLAYFREQUENCY, DISP_CHANGE_SUCCESSFUL}, - - {0, 0, 0, 0, DM_PELSWIDTH, DISP_CHANGE_SUCCESSFUL}, - {0, 0, 0, 0, DM_PELSHEIGHT, DISP_CHANGE_SUCCESSFUL}, - - {640, 480, 0, 0, DM_PELSWIDTH, DISP_CHANGE_BADMODE}, - {640, 480, 0, 0, DM_PELSHEIGHT, DISP_CHANGE_BADMODE}, - { 0, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT, DISP_CHANGE_BADMODE}, - {640, 0, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT, DISP_CHANGE_BADMODE}, - - {0, 0, 0, 10, DM_DISPLAYFREQUENCY, DISP_CHANGE_BADMODE}, + {640, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL | DM_DISPLAYFREQUENCY, 1}, + {640, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT | DM_DISPLAYFREQUENCY, 1}, + {640, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL , 1}, + {640, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT , 1}, + {640, 480, 0, 0, DM_BITSPERPEL , 1}, + {640, 480, 0, 0, DM_DISPLAYFREQUENCY, 1}, + + {0, 0, 0, 0, DM_PELSWIDTH, 1}, + {0, 0, 0, 0, DM_PELSHEIGHT, 1}, + + {640, 480, 0, 0, DM_PELSWIDTH, 0}, + {640, 480, 0, 0, DM_PELSHEIGHT, 0}, + { 0, 480, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT, 0}, + {640, 0, 0, 0, DM_PELSWIDTH | DM_PELSHEIGHT, 0}, + + {0, 0, 0, 0, DM_DISPLAYFREQUENCY, 0}, }; #define vid_modes_cnt (sizeof(vid_modes_test) / sizeof(vid_modes_test[0]))
@@ -144,7 +144,10 @@ static void test_ChangeDisplaySettingsEx(void) dm.dmDisplayFrequency = vid_modes_test[i].freq; dm.dmFields = vid_modes_test[i].fields; res = ChangeDisplaySettingsEx(NULL, &dm, NULL, CDS_FULLSCREEN, NULL); - ok(res == vid_modes_test[i].res, "Failed to change resolution[%d]: %d\n", i, res); + ok(vid_modes_test[i].success ? + (res == DISP_CHANGE_SUCCESSFUL) : + (res == DISP_CHANGE_BADMODE || res == DISP_CHANGE_BADPARAM), + "Unexpected ChangeDisplaySettingsEx() return code for resolution[%d]: %d\n", i, res);
if (res == DISP_CHANGE_SUCCESSFUL) {