From: Nikolay Sivov Subject: [PATCH 2/2] dwrite/tests: Some tests for local font file loader Message-Id: <5448D4B2.2080208@codeweavers.com> Date: Thu, 23 Oct 2014 14:13:06 +0400 --- From 2ceb78631b1d75ad2b5107d6bc9ae99a4d3578e8 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Wed, 22 Oct 2014 16:33:29 +0400 Subject: [PATCH 2/2] dwrite/tests: Some tests for local font file loader --- dlls/dwrite/tests/font.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/dlls/dwrite/tests/font.c b/dlls/dwrite/tests/font.c index e7827ef..77571f0 100644 --- a/dlls/dwrite/tests/font.c +++ b/dlls/dwrite/tests/font.c @@ -859,8 +859,13 @@ todo_wine static void test_system_fontcollection(void) { IDWriteFontCollection *collection, *coll2; + IDWriteLocalFontFileLoader *localloader; IDWriteFactory *factory, *factory2; + IDWriteFontFileLoader *loader; IDWriteFontFamily *family; + IDWriteFontFace *fontface; + IDWriteFontFile *file; + IDWriteFont *font; HRESULT hr; UINT32 i; BOOL ret; @@ -904,6 +909,42 @@ static void test_system_fontcollection(void) ok(ret, "got %d\n", ret); ok(i != (UINT32)-1, "got %u\n", i); + /* get back local file loader */ + hr = IDWriteFontCollection_GetFontFamily(collection, i, &family); + ok(hr == S_OK, "got 0x%08x\n", hr); + + hr = IDWriteFontFamily_GetFirstMatchingFont(family, DWRITE_FONT_WEIGHT_NORMAL, + DWRITE_FONT_STRETCH_NORMAL, DWRITE_FONT_STYLE_NORMAL, &font); + ok(hr == S_OK, "got 0x%08x\n", hr); + IDWriteFontFamily_Release(family); + + hr = IDWriteFont_CreateFontFace(font, &fontface); + ok(hr == S_OK, "got 0x%08x\n", hr); + IDWriteFont_Release(font); + + i = 1; + file = NULL; + hr = IDWriteFontFace_GetFiles(fontface, &i, &file); + ok(hr == S_OK, "got 0x%08x\n", hr); +todo_wine + ok(file != NULL, "got %p\n", file); + +if (file) { + hr = IDWriteFontFile_GetLoader(file, &loader); + ok(hr == S_OK, "got 0x%08x\n", hr); + IDWriteFontFile_Release(file); + + hr = IDWriteFontFileLoader_QueryInterface(loader, &IID_IDWriteLocalFontFileLoader, (void**)&localloader); + ok(hr == S_OK, "got 0x%08x\n", hr); + IDWriteLocalFontFileLoader_Release(localloader); + + /* local loader is not registered by default */ + hr = IDWriteFactory_RegisterFontFileLoader(factory, loader); + ok(hr == S_OK, "got 0x%08x\n", hr); + hr = IDWriteFactory_UnregisterFontFileLoader(factory, loader); + ok(hr == S_OK, "got 0x%08x\n", hr); + IDWriteFontFileLoader_Release(loader); +} ret = TRUE; i = 0; hr = IDWriteFontCollection_FindFamilyName(collection, blahW, &i, &ret); -- 2.1.1