Nikolay Sivov : dwrite/tests: Added some tests for inline object and ranges handling.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Aug 4 15:29:39 CDT 2014
Module: wine
Branch: master
Commit: edf74c0b0d822c746d52054aaf04a265759eda0f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=edf74c0b0d822c746d52054aaf04a265759eda0f
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Wed Jul 30 21:16:34 2014 +0400
dwrite/tests: Added some tests for inline object and ranges handling.
---
dlls/dwrite/tests/layout.c | 38 +++++++++++++++++++++++++++++++++++++-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git a/dlls/dwrite/tests/layout.c b/dlls/dwrite/tests/layout.c
index 8305c77..5ed2bf5 100644
--- a/dlls/dwrite/tests/layout.c
+++ b/dlls/dwrite/tests/layout.c
@@ -322,7 +322,7 @@ static void test_SetInlineObject(void)
static const WCHAR strW[] = {'s','t','r','i','n','g',0};
static const WCHAR ruW[] = {'r','u',0};
- IDWriteInlineObject *inlineobj, *inlineobj2;
+ IDWriteInlineObject *inlineobj, *inlineobj2, *inlinetest;
IDWriteTextFormat *format;
IDWriteTextLayout *layout;
DWRITE_TEXT_RANGE range;
@@ -341,18 +341,54 @@ static void test_SetInlineObject(void)
hr = IDWriteFactory_CreateEllipsisTrimmingSign(factory, format, &inlineobj2);
ok(hr == S_OK, "got 0x%08x\n", hr);
+ inlinetest = (void*)0x1;
+ hr = IDWriteTextLayout_GetInlineObject(layout, 0, &inlinetest, NULL);
+todo_wine {
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(inlinetest == NULL, "got %p\n", inlineobj);
+}
range.startPosition = 0;
range.length = 2;
hr = IDWriteTextLayout_SetInlineObject(layout, inlineobj, range);
todo_wine
ok(hr == S_OK, "got 0x%08x\n", hr);
+ inlinetest = (void*)0x1;
+ hr = IDWriteTextLayout_GetInlineObject(layout, 2, &inlinetest, NULL);
+todo_wine {
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(inlinetest == NULL, "got %p\n", inlinetest);
+}
+ inlinetest = NULL;
+ hr = IDWriteTextLayout_GetInlineObject(layout, 0, &inlinetest, NULL);
+todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+if (hr == S_OK) {
+ ok(inlinetest == inlineobj, "got %p\n", inlinetest);
+ IDWriteInlineObject_Release(inlinetest);
+}
range.startPosition = 1;
range.length = 1;
hr = IDWriteTextLayout_SetInlineObject(layout, inlineobj2, range);
todo_wine
ok(hr == S_OK, "got 0x%08x\n", hr);
+ inlinetest = NULL;
+ hr = IDWriteTextLayout_GetInlineObject(layout, 1, &inlinetest, NULL);
+todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+if (hr == S_OK) {
+ ok(inlinetest == inlineobj2, "got %p\n", inlinetest);
+ IDWriteInlineObject_Release(inlinetest);
+}
+ inlinetest = NULL;
+ hr = IDWriteTextLayout_GetInlineObject(layout, 0, &inlinetest, NULL);
+todo_wine
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+if (hr == S_OK) {
+ ok(inlinetest == inlineobj, "got %p\n", inlinetest);
+ IDWriteInlineObject_Release(inlinetest);
+}
range.startPosition = 1;
range.length = 1;
hr = IDWriteTextLayout_SetInlineObject(layout, inlineobj, range);
More information about the wine-cvs
mailing list