[2/4] windowscodecs: Test whether CreateBitmapFromMemory stride is stored.
Vincent Povirk
madewokherd at gmail.com
Wed Jan 2 14:31:26 CST 2013
-------------- next part --------------
From ab5be193bbfbac54ea8efe46c7b71e39ce5ecc17 Mon Sep 17 00:00:00 2001
From: Vincent Povirk <vincent at codeweavers.com>
Date: Wed, 2 Jan 2013 13:39:48 -0600
Subject: [PATCH 2/4] windowscodecs: Test whether CreateBitmapFromMemory
stride is stored.
---
dlls/windowscodecs/tests/bitmap.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/dlls/windowscodecs/tests/bitmap.c b/dlls/windowscodecs/tests/bitmap.c
index af0446c..daf0f02 100644
--- a/dlls/windowscodecs/tests/bitmap.c
+++ b/dlls/windowscodecs/tests/bitmap.c
@@ -433,7 +433,9 @@ static void test_CreateBitmapFromMemory(void)
BYTE data[27];
HRESULT hr;
IWICBitmap *bitmap;
+ IWICBitmapLock *lock;
UINT width, height, i;
+ WICRect rc;
memcpy(data3x3, orig_data3x3, sizeof(data3x3));
@@ -499,6 +501,32 @@ todo_wine
for (i = 0; i < sizeof(data); i++)
ok(data[i] == data3x2[i], "%u: expected %u, got %u\n", i, data3x2[i], data[i]);
+ rc.X = rc.Y = 0;
+ rc.Width = 3;
+ rc.Height = 2;
+ hr = IWICBitmap_Lock(bitmap, &rc, WICBitmapLockWrite, &lock);
+ ok(hr == S_OK, "IWICBitmap_Lock failed hr=%x\n", hr);
+ if (SUCCEEDED(hr))
+ {
+ UINT stride, buffer_size;
+ BYTE* buffer;
+
+ hr = IWICBitmapLock_GetStride(lock, &stride);
+ ok(hr == S_OK, "IWICBitmapLock_GetStride failed hr=%x\n", hr);
+ ok(stride == 13, "got %i, expected 13\n", stride);
+
+ hr = IWICBitmapLock_GetDataPointer(lock, &buffer_size, &buffer);
+ ok(hr == S_OK, "IWICBitmapLock_GetDataPointer failed hr=%x\n", hr);
+ ok(buffer_size == 22, "got %i, expected 22\n", buffer_size);
+ ok(buffer != NULL, "got NULL data pointer\n");
+ ok(buffer != orig_data3x3, "got user data pointer\n");
+
+ for (i=0; i<27; i++)
+ ok(buffer[i] == orig_data3x3[i], "%u: expected %u, got %u\n", i, orig_data3x3[i], buffer[i]);
+
+ IWICBitmapLock_Release(lock);
+ }
+
IWICBitmap_Release(bitmap);
}
--
1.8.0
More information about the wine-patches
mailing list