Nikolay Sivov : dwrite/tests: Another test for cluster metrics and inline objects.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Mar 18 10:26:28 CDT 2015


Module: wine
Branch: master
Commit: b58528fa495809c6c24dbef74b366359eff39d4d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b58528fa495809c6c24dbef74b366359eff39d4d

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Mon Mar 16 10:22:21 2015 +0300

dwrite/tests: Another test for cluster metrics and inline objects.

---

 dlls/dwrite/tests/layout.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/dlls/dwrite/tests/layout.c b/dlls/dwrite/tests/layout.c
index 5b15c37..bbfc7bc 100644
--- a/dlls/dwrite/tests/layout.c
+++ b/dlls/dwrite/tests/layout.c
@@ -992,6 +992,8 @@ static void test_typography(void)
 static void test_GetClusterMetrics(void)
 {
     static const WCHAR strW[] = {'a','b','c','d',0};
+    DWRITE_INLINE_OBJECT_METRICS inline_metrics;
+    DWRITE_CLUSTER_METRICS metrics;
     IDWriteInlineObject *trimm;
     IDWriteTextFormat *format;
     IDWriteTextLayout *layout;
@@ -1029,6 +1031,20 @@ static void test_GetClusterMetrics(void)
 todo_wine
     ok(count == 3, "got %u\n", count);
 
+    count = 0;
+    memset(&metrics, 0, sizeof(metrics));
+    hr = IDWriteTextLayout_GetClusterMetrics(layout, &metrics, 1, &count);
+    ok(hr == E_NOT_SUFFICIENT_BUFFER, "got 0x%08x\n", hr);
+todo_wine
+    ok(count == 3, "got %u\n", count);
+    ok(metrics.length == 2, "got %u\n", metrics.length);
+
+    hr = IDWriteInlineObject_GetMetrics(trimm, &inline_metrics);
+todo_wine {
+    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(inline_metrics.width == metrics.width, "got %.2f, expected %.2f\n", inline_metrics.width,
+        metrics.width);
+}
     IDWriteInlineObject_Release(trimm);
     IDWriteTextLayout_Release(layout);
     IDWriteTextFormat_Release(format);




More information about the wine-cvs mailing list