From 1ad9a1deabfdd592c4eeda8059c5839dee646ffa Mon Sep 17 00:00:00 2001 From: Katayama Hirofumi MZ Date: Sun, 27 Jan 2019 17:17:09 +0900 Subject: [PATCH] [WIN32KNT_APITEST] NtGdiSetBitmapBits: Add tests for max buffer size 2 (#1312) Improve NtGdiSetBitmapBits testcase again and again. CORE-15657 --- .../win32nt/ntgdi/NtGdiSetBitmapBits.c | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/modules/rostests/apitests/win32nt/ntgdi/NtGdiSetBitmapBits.c b/modules/rostests/apitests/win32nt/ntgdi/NtGdiSetBitmapBits.c index 4544c8de335..fa668acf04b 100644 --- a/modules/rostests/apitests/win32nt/ntgdi/NtGdiSetBitmapBits.c +++ b/modules/rostests/apitests/win32nt/ntgdi/NtGdiSetBitmapBits.c @@ -94,6 +94,20 @@ START_TEST(NtGdiSetBitmapBits) ok_long(NtGdiSetBitmapBits(hBitmap, 565, Bits), 0); ok_long(GetLastError(), 0xDEADFACE); + { + BYTE dummy[256] = { 1 }; + + SetLastError(0xDEADFACE); + ok_long(NtGdiSetBitmapBits(hBitmap, 564, Bits), 0xC); + ok_long(GetLastError(), 0xDEADFACE); + + SetLastError(0xDEADFACE); + ok_long(NtGdiSetBitmapBits(hBitmap, 565, Bits), 0); + ok_long(GetLastError(), 0xDEADFACE); + + ok_int(dummy[0], 1); + } + SetLastError(0xDEADFACE); ok_long(NtGdiSetBitmapBits(hBitmap, 0x7FFF, Bits), 0); ok_long(GetLastError(), 0xDEADFACE); @@ -206,6 +220,14 @@ START_TEST(NtGdiSetBitmapBits) ok_int(Bits[3], 0x33); ok_int(Bits[4], 0x55); + SetLastError(0xDEADFACE); + ok_long(NtGdiSetBitmapBits(hBitmap, 564, Bits), 0x20); + ok_long(GetLastError(), 0xDEADFACE); + + SetLastError(0xDEADFACE); + ok_long(NtGdiSetBitmapBits(hBitmap, 565, Bits), 0); + ok_long(GetLastError(), 0xDEADFACE); + DeleteObject(hBitmap); /* ------------------------- */ @@ -304,6 +326,14 @@ START_TEST(NtGdiSetBitmapBits) ok_int(Bits[3], 0x33); ok_int(Bits[4], 0x55); + SetLastError(0xDEADFACE); + ok_long(NtGdiSetBitmapBits(hBitmap, 564, Bits), 0x234); + ok_long(GetLastError(), 0xDEADFACE); + + SetLastError(0xDEADFACE); + ok_long(NtGdiSetBitmapBits(hBitmap, 565, Bits), 0); + ok_long(GetLastError(), 0xDEADFACE); + DeleteObject(hBitmap); DeleteDC(hDC); @@ -403,6 +433,14 @@ START_TEST(NtGdiSetBitmapBits) ok_int(Bits[3], 0x33); ok_int(Bits[4], 0x55); + SetLastError(0xDEADFACE); + ok_long(NtGdiSetBitmapBits(hBitmap, 564, Bits), 0x234); + ok_long(GetLastError(), 0xDEADFACE); + + SetLastError(0xDEADFACE); + ok_long(NtGdiSetBitmapBits(hBitmap, 565, Bits), 0); + ok_long(GetLastError(), 0xDEADFACE); + DeleteObject(hBitmap); DeleteDC(hDC); }