From 97e81bc3bdc49456ceb479a76e39ece84133e912 Mon Sep 17 00:00:00 2001
From: Massimo Del Fedele <max@veneto.com>
Date: Mon, 30 Mar 2009 19:47:29 +0200
Subject: [PATCH] gdi32/tests: Add test for GetGlyphOutlineW() requesting
 buffer size for space char.

---
 dlls/gdi32/tests/font.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/dlls/gdi32/tests/font.c b/dlls/gdi32/tests/font.c
index cc5e3f5ae6a..c10d6e836cd 100644
--- a/dlls/gdi32/tests/font.c
+++ b/dlls/gdi32/tests/font.c
@@ -2887,6 +2887,23 @@ static void test_GetGlyphOutline(void)
        ok(GetLastError() == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", GetLastError());
     }
 
+    /* test for needed buffer size request on space char */
+    memset(&gm, 0, sizeof(gm));
+    SetLastError(0xdeadbeef);
+    ret = GetGlyphOutlineW(hdc, ' ', GGO_NATIVE, &gm, 0, NULL, &mat);
+    if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
+        ok(ret == 0, "GetGlyphOutlineW should return 0 buffer size for space char\n");
+
+    /* requesting buffer size for space char + error */
+    memset(&gm, 0, sizeof(gm));
+    SetLastError(0xdeadbeef);
+    ret = GetGlyphOutlineW(0, ' ', GGO_NATIVE, &gm, 0, NULL, NULL);
+    if (GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
+    {
+       ok(ret == GDI_ERROR, "GetGlyphOutlineW should return GDI_ERROR\n");
+       ok(GetLastError() == 0xdeadbeef, "expected 0xdeadbeef, got %u\n", GetLastError());
+    }
+
     SelectObject(hdc, old_hfont);
     DeleteObject(hfont);
     DeleteDC(hdc);
-- 
GitLab