Author: tkreuzer Date: Sat May 5 12:59:08 2012 New Revision: 56511
URL: http://svn.reactos.org/svn/reactos?rev=56511&view=rev Log: [GDI32_APITEST] - Try to fix some more test fails on win 2003
Modified: trunk/rostests/apitests/gdi32/GetRandomRgn.c trunk/rostests/apitests/gdi32/MaskBlt.c
Modified: trunk/rostests/apitests/gdi32/GetRandomRgn.c URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/gdi32/GetRandomRg... ============================================================================== --- trunk/rostests/apitests/gdi32/GetRandomRgn.c [iso-8859-1] (original) +++ trunk/rostests/apitests/gdi32/GetRandomRgn.c [iso-8859-1] Sat May 5 12:59:08 2012 @@ -1,7 +1,7 @@ /* * PROJECT: ReactOS api tests * LICENSE: GPL - See COPYING in the top level directory - * PURPOSE: Test for ... + * PURPOSE: Test for GetRandomRgn * PROGRAMMERS: Timo Kreuzer */
@@ -41,22 +41,22 @@ SetLastError(0xbadbad00); ret = GetRandomRgn(NULL, NULL, 0); ok_int(ret, -1); - ok_long(GetLastError(), 0xbadbad00); + ok((GetLastError() == 0xbadbad00) || (GetLastError() == ERROR_INVALID_HANDLE), "wrong error: %ld\n", GetLastError());
SetLastError(0xbadbad00); ret = GetRandomRgn(NULL, NULL, CLIPRGN); ok_int(ret, -1); - ok_long(GetLastError(), 0xbadbad00); + ok((GetLastError() == 0xbadbad00) || (GetLastError() == ERROR_INVALID_HANDLE), "wrong error: %ld\n", GetLastError());
SetLastError(0xbadbad00); ret = GetRandomRgn(NULL, hrgn, 0); ok_int(ret, -1); - ok_long(GetLastError(), 0xbadbad00); + ok((GetLastError() == 0xbadbad00) || (GetLastError() == ERROR_INVALID_HANDLE), "wrong error: %ld\n", GetLastError());
SetLastError(0xbadbad00); ret = GetRandomRgn(NULL, hrgn, CLIPRGN); ok_int(ret, -1); - ok_long(GetLastError(), 0xbadbad00); + ok((GetLastError() == 0xbadbad00) || (GetLastError() == ERROR_INVALID_HANDLE), "wrong error: %ld\n", GetLastError());
SetLastError(0xbadbad00); ret = GetRandomRgn(hdc, NULL, 0); @@ -101,7 +101,7 @@ SetLastError(0xbadbad00); ret = GetRandomRgn((HDC)0x123, hrgn, CLIPRGN); ok_int(ret, -1); - ok_long(GetLastError(), 0xbadbad00); + ok((GetLastError() == 0xbadbad00) || (GetLastError() == ERROR_INVALID_HANDLE), "wrong error: %ld\n", GetLastError());
DeleteObject(hrgn); DeleteDC(hdc);
Modified: trunk/rostests/apitests/gdi32/MaskBlt.c URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/gdi32/MaskBlt.c?r... ============================================================================== --- trunk/rostests/apitests/gdi32/MaskBlt.c [iso-8859-1] (original) +++ trunk/rostests/apitests/gdi32/MaskBlt.c [iso-8859-1] Sat May 5 12:59:08 2012 @@ -1,7 +1,7 @@ /* * PROJECT: ReactOS api tests * LICENSE: GPL - See COPYING in the top level directory - * PURPOSE: Test for GdiReleaseLocalDC + * PURPOSE: Test for MaskBlt * PROGRAMMERS: Timo Kreuzer */
@@ -12,25 +12,30 @@ void Test_MaskBlt_1bpp() { HDC hdcDst, hdcSrc; - BITMAPINFO bmi = {{sizeof(BITMAPINFOHEADER), 8, 1, 1, 1, BI_RGB, 0, 10, 10, 0,0}}; + struct + { + BITMAPINFOHEADER bmiHeader; + ULONG aulColors[2]; + } bmiData = {{sizeof(BITMAPINFOHEADER), 8, 1, 1, 1, BI_RGB, 0, 10, 10, 2,0}, {0, 0xFFFFFF}}; + PBITMAPINFO pbmi = (PBITMAPINFO)&bmiData; HBITMAP hbmDst, hbmSrc, hbmMsk; PUCHAR pjBitsDst, pjBitsSrc, pjBitsMsk; BOOL ret;
/* Create a dest dc and bitmap */ hdcDst = CreateCompatibleDC(NULL); - hbmDst = CreateDIBSection(hdcDst, &bmi, DIB_RGB_COLORS, (PVOID*)&pjBitsDst, NULL, 0); + hbmDst = CreateDIBSection(hdcDst, pbmi, DIB_RGB_COLORS, (PVOID*)&pjBitsDst, NULL, 0); SelectObject(hdcDst, hbmDst);
/* Create a source dc and bitmap */ hdcSrc = CreateCompatibleDC(NULL); - hbmSrc = CreateDIBSection(hdcSrc, &bmi, DIB_RGB_COLORS, (PVOID*)&pjBitsSrc, NULL, 0); + hbmSrc = CreateDIBSection(hdcSrc, pbmi, DIB_RGB_COLORS, (PVOID*)&pjBitsSrc, NULL, 0); SelectObject(hdcSrc, hbmSrc);
/* Create a 1 bpp mask bitmap */ - hbmMsk = CreateDIBSection(hdcDst, &bmi, DIB_RGB_COLORS, (PVOID*)&pjBitsMsk, NULL, 0); + hbmMsk = CreateDIBSection(hdcDst, pbmi, DIB_RGB_COLORS, (PVOID*)&pjBitsMsk, NULL, 0);
- /* Do the masking */ + /* Do the masking (SRCCOPY / NOOP) */ pjBitsDst[0] = 0xAA; pjBitsSrc[0] = 0xCC; pjBitsMsk[0] = 0xF0; @@ -45,13 +50,29 @@ ok(ret == 1, "MaskBlt failed (%d)\n", ret); ok (pjBitsDst[0] == 0xF0, "pjBitsDst[0] == 0x%x\n", pjBitsDst[0]);
+ /* Do the masking (NOTSRCERASE / SRCINVERT) */ + pjBitsDst[0] = 0xF0; + pjBitsSrc[0] = 0xCC; + pjBitsMsk[0] = 0xAA; + ret = MaskBlt(hdcDst, 0, 0, 8, 1, hdcSrc, 0, 0, hbmMsk, 0, 0, MAKEROP4(NOTSRCERASE, SRCINVERT)); // 22 + ok(ret == 1, "MaskBlt failed (%d)\n", ret); + ok (pjBitsDst[0] == 0x16, "pjBitsDst[0] == 0x%x\n", pjBitsDst[0]); + + /* Do the masking (MERGEPAINT / DSxn) */ + pjBitsDst[0] = 0xF0; + pjBitsSrc[0] = 0xCC; + pjBitsMsk[0] = 0xAA; + ret = MaskBlt(hdcDst, 0, 0, 8, 1, hdcSrc, 0, 0, hbmMsk, 0, 0, MAKEROP4(MERGEPAINT, 0x990000)); + ok(ret == 1, "MaskBlt failed (%d)\n", ret); + ok (pjBitsDst[0] == 0xE3, "pjBitsDst[0] == 0x%x\n", pjBitsDst[0]); + }
void Test_MaskBlt_16bpp() { HDC hdcDst, hdcSrc; - BITMAPINFO bmi1 = {{sizeof(BITMAPINFOHEADER), 8, 1, 1, 1, BI_RGB, 0, 10, 10, 0,0}}; - BITMAPINFO bmi32 = {{sizeof(BITMAPINFOHEADER), 8, 1, 1, 16, BI_RGB, 0, 10, 10, 0,0}}; + BITMAPINFO bmi1 = {{sizeof(BITMAPINFOHEADER), 8, 1, 1, 1, BI_RGB, 0, 10, 10, 0,0}}; + BITMAPINFO bmi32 = {{sizeof(BITMAPINFOHEADER), 8, 1, 1, 16, BI_RGB, 0, 10, 10, 0,0}}; HBITMAP hbmDst, hbmSrc, hbmMsk; PUCHAR pjBitsMsk; PUSHORT pusBitsDst, pusBitsSrc; @@ -59,18 +80,18 @@
/* Create a dest dc and bitmap */ hdcDst = CreateCompatibleDC(NULL); - hbmDst = CreateDIBSection(hdcDst, &bmi32, DIB_RGB_COLORS, (PVOID*)&pusBitsDst, NULL, 0); + hbmDst = CreateDIBSection(hdcDst, &bmi32, DIB_RGB_COLORS, (PVOID*)&pusBitsDst, NULL, 0); SelectObject(hdcDst, hbmDst);
/* Create a source dc and bitmap */ hdcSrc = CreateCompatibleDC(NULL); - hbmSrc = CreateDIBSection(hdcSrc, &bmi32, DIB_RGB_COLORS, (PVOID*)&pusBitsSrc, NULL, 0); + hbmSrc = CreateDIBSection(hdcSrc, &bmi32, DIB_RGB_COLORS, (PVOID*)&pusBitsSrc, NULL, 0); SelectObject(hdcSrc, hbmSrc); - ok(hdcSrc && hbmSrc, "\n"); + ok(hdcSrc && hbmSrc, "\n");
/* Create a 1 bpp mask bitmap */ - hbmMsk = CreateDIBSection(hdcDst, &bmi1, DIB_RGB_COLORS, (PVOID*)&pjBitsMsk, NULL, 0); - ok(hbmMsk != 0, "CreateDIBSection failed\n"); + hbmMsk = CreateDIBSection(hdcDst, &bmi1, DIB_RGB_COLORS, (PVOID*)&pjBitsMsk, NULL, 0); + ok(hbmMsk != 0, "CreateDIBSection failed\n");
/* Do the masking */ pusBitsDst[0] = 0x1234; @@ -94,8 +115,8 @@ void Test_MaskBlt_32bpp() { HDC hdcDst, hdcSrc; - BITMAPINFO bmi1 = {{sizeof(BITMAPINFOHEADER), 8, 1, 1, 1, BI_RGB, 0, 10, 10, 0,0}}; - BITMAPINFO bmi32 = {{sizeof(BITMAPINFOHEADER), 8, 1, 1, 32, BI_RGB, 0, 10, 10, 0,0}}; + BITMAPINFO bmi1 = {{sizeof(BITMAPINFOHEADER), 8, 1, 1, 1, BI_RGB, 0, 10, 10, 0,0}}; + BITMAPINFO bmi32 = {{sizeof(BITMAPINFOHEADER), 8, 1, 1, 32, BI_RGB, 0, 10, 10, 0,0}}; HBITMAP hbmDst, hbmSrc, hbmMsk; PUCHAR pjBitsMsk; PULONG pulBitsDst, pulBitsSrc; @@ -103,18 +124,18 @@
/* Create a dest dc and bitmap */ hdcDst = CreateCompatibleDC(NULL); - hbmDst = CreateDIBSection(hdcDst, &bmi32, DIB_RGB_COLORS, (PVOID*)&pulBitsDst, NULL, 0); + hbmDst = CreateDIBSection(hdcDst, &bmi32, DIB_RGB_COLORS, (PVOID*)&pulBitsDst, NULL, 0); SelectObject(hdcDst, hbmDst);
/* Create a source dc and bitmap */ hdcSrc = CreateCompatibleDC(NULL); - hbmSrc = CreateDIBSection(hdcSrc, &bmi32, DIB_RGB_COLORS, (PVOID*)&pulBitsSrc, NULL, 0); + hbmSrc = CreateDIBSection(hdcSrc, &bmi32, DIB_RGB_COLORS, (PVOID*)&pulBitsSrc, NULL, 0); SelectObject(hdcSrc, hbmSrc); - ok(hdcSrc && hbmSrc, "\n"); + ok(hdcSrc && hbmSrc, "\n");
/* Create a 1 bpp mask bitmap */ - hbmMsk = CreateDIBSection(hdcDst, &bmi1, DIB_RGB_COLORS, (PVOID*)&pjBitsMsk, NULL, 0); - ok(hbmMsk != 0, "CreateDIBSection failed\n"); + hbmMsk = CreateDIBSection(hdcDst, &bmi1, DIB_RGB_COLORS, (PVOID*)&pjBitsMsk, NULL, 0); + ok(hbmMsk != 0, "CreateDIBSection failed\n");
/* Do the masking */ pulBitsDst[0] = 0x12345678; @@ -143,6 +164,6 @@ case 16: Test_MaskBlt_16bpp(); break; case 32: Test_MaskBlt_32bpp(); break; } - + }