reactos/rostests/apitests/w32knapi/ntgdi/NtGdiSelectBitmap.c
Timo Kreuzer 142fc9bedc - another test for NtGdiBitBlt
- Add tests for NtGdiSelectBitmap, NtGdiSelectBrush, NtGdiSelectFont and NtGdiSelectPen

svn path=/trunk/; revision=30904
2007-11-30 00:09:28 +00:00

50 lines
1.1 KiB
C

INT
Test_NtGdiSelectBitmap(PTESTINFO pti)
{
HDC hDC;
HBITMAP hBmp, hOldBmp;
hDC = CreateCompatibleDC(GetDC(NULL));
ASSERT(hDC);
hBmp = CreateBitmap(2,2,1,1,NULL);
/* Test NULL DC */
SetLastError(ERROR_SUCCESS);
hOldBmp = NtGdiSelectBitmap(NULL, hBmp);
TEST(hOldBmp == NULL);
TEST(GetLastError() == ERROR_SUCCESS);
/* Test invalid DC */
SetLastError(ERROR_SUCCESS);
hOldBmp = NtGdiSelectBitmap((HDC)((ULONG_PTR)hDC & 0x0000ffff), hBmp);
TEST(hOldBmp == NULL);
TEST(GetLastError() == ERROR_SUCCESS);
/* Test NULL bitmap */
SetLastError(ERROR_SUCCESS);
hOldBmp = NtGdiSelectBitmap(hDC, NULL);
TEST(hOldBmp == NULL);
TEST(GetLastError() == ERROR_SUCCESS);
/* Test NULL bitmap */
SetLastError(ERROR_SUCCESS);
hOldBmp = NtGdiSelectBitmap(hDC, (HBITMAP)((ULONG_PTR)hBmp & 0x0000ffff));
TEST(hOldBmp == NULL);
TEST(GetLastError() == ERROR_SUCCESS);
/* Test invalid bitmap */
SetLastError(ERROR_SUCCESS);
hOldBmp = NtGdiSelectBitmap(hDC, hBmp);
TEST(hOldBmp != NULL);
hOldBmp = NtGdiSelectBitmap(hDC, hOldBmp);
TEST(hOldBmp == hBmp);
TEST(GetLastError() == ERROR_SUCCESS);
DeleteObject(hBmp);
DeleteDC(hDC);
return APISTATUS_NORMAL;
}