[WIN32KNT_APITEST] NtGdiSetBitmapBits: Add tests for max buffer size 2 (#1312)
authorKatayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Sun, 27 Jan 2019 08:17:09 +0000 (17:17 +0900)
committerGitHub <noreply@github.com>
Sun, 27 Jan 2019 08:17:09 +0000 (17:17 +0900)
Improve NtGdiSetBitmapBits testcase again and again. CORE-15657

modules/rostests/apitests/win32nt/ntgdi/NtGdiSetBitmapBits.c

index 4544c8d..fa668ac 100644 (file)
@@ -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);
 }