Added stubbed support for ScriptGetFontProperties.
[wine] / dlls / oleaut32 / tests / olefont.c
1 /*
2  * OLEFONT test program
3  *
4  * Copyright 2003 Marcus Meissner
5  *
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20  */
21
22 #include <stdarg.h>
23 #include <stdio.h>
24 #include <math.h>
25 #include <float.h>
26 #include <time.h>
27
28 #include <wine/test.h>
29 #include <windef.h>
30 #include <winbase.h>
31 #include <winuser.h>
32 #include <wingdi.h>
33 #include <winnls.h>
34 #include <winerror.h>
35 #include <winnt.h>
36
37 #include <wtypes.h>
38 #define COBJMACROS
39 #include <olectl.h>
40
41 static HMODULE hOleaut32;
42
43 static HRESULT (WINAPI *pOleCreateFontIndirect)(LPFONTDESC,REFIID,LPVOID*);
44
45 START_TEST(olefont)
46 {
47         LPVOID pvObj = NULL;
48         HRESULT hres;
49         IFont*  font = NULL;
50
51         hOleaut32 = LoadLibraryA("oleaut32.dll");    
52         pOleCreateFontIndirect = (void*)GetProcAddress(hOleaut32, "OleCreateFontIndirect");
53         if (!pOleCreateFontIndirect)
54             return;
55
56         hres = pOleCreateFontIndirect(NULL, &IID_IFont, &pvObj);
57         font = pvObj;
58
59         ok(hres == S_OK,"OCFI (NULL,..) does not return 0, but 0x%08lx\n",hres);
60         ok(font != NULL,"OCFI (NULL,..) returns NULL, instead of !NULL\n");
61
62         pvObj = NULL;
63         hres = IFont_QueryInterface( font, &IID_IFont, &pvObj);
64
65         ok(hres == S_OK,"IFont_QI does not return S_OK, but 0x%08lx\n", hres);
66         ok(pvObj != NULL,"IFont_QI does return NULL, instead of a ptr\n");
67 }