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