oleaut32/tests: Clean result value checks.
This commit is contained in:
parent
e800158ab0
commit
78ca68c854
|
@ -51,7 +51,8 @@ static HMODULE hOleaut32;
|
||||||
|
|
||||||
static HRESULT (WINAPI *pOleCreateFontIndirect)(LPFONTDESC,REFIID,LPVOID*);
|
static HRESULT (WINAPI *pOleCreateFontIndirect)(LPFONTDESC,REFIID,LPVOID*);
|
||||||
|
|
||||||
#define ok_ole_success(hr, func) ok(hr == S_OK, func " failed with error 0x%08x\n", hr)
|
#define EXPECT_HR(hr,hr_exp) \
|
||||||
|
ok(hr == hr_exp, "got 0x%08x, expected 0x%08x\n", hr, hr_exp)
|
||||||
|
|
||||||
/* Create a font with cySize given by lo_size, hi_size, */
|
/* Create a font with cySize given by lo_size, hi_size, */
|
||||||
/* SetRatio to ratio_logical, ratio_himetric, */
|
/* SetRatio to ratio_logical, ratio_himetric, */
|
||||||
|
@ -154,36 +155,35 @@ static void test_ifont_sizes(void)
|
||||||
|
|
||||||
static void test_QueryInterface(void)
|
static void test_QueryInterface(void)
|
||||||
{
|
{
|
||||||
LPVOID pvObj = NULL;
|
LPVOID pvObj = NULL;
|
||||||
HRESULT hres;
|
HRESULT hr;
|
||||||
IFont* font = NULL;
|
IFont* font = NULL;
|
||||||
LONG ret;
|
LONG ref;
|
||||||
|
|
||||||
hres = pOleCreateFontIndirect(NULL, &IID_IFont, NULL);
|
hr = pOleCreateFontIndirect(NULL, &IID_IFont, NULL);
|
||||||
ok(hres == E_POINTER, "got 0x%08x\n", hres);
|
EXPECT_HR(hr, E_POINTER);
|
||||||
|
|
||||||
hres = pOleCreateFontIndirect(NULL, &IID_IFont, &pvObj);
|
hr = pOleCreateFontIndirect(NULL, &IID_IFont, &pvObj);
|
||||||
font = pvObj;
|
font = pvObj;
|
||||||
|
|
||||||
ok(hres == S_OK,"OCFI (NULL,..) does not return 0, but 0x%08x\n",hres);
|
EXPECT_HR(hr, S_OK);
|
||||||
ok(font != NULL,"OCFI (NULL,..) returns NULL, instead of !NULL\n");
|
ok(font != NULL,"OCFI (NULL,..) returns NULL, instead of !NULL\n");
|
||||||
|
|
||||||
pvObj = NULL;
|
pvObj = NULL;
|
||||||
hres = IFont_QueryInterface( font, &IID_IFont, &pvObj);
|
hr = IFont_QueryInterface( font, &IID_IFont, &pvObj);
|
||||||
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
/* Test if QueryInterface increments ref counter for IFONTs */
|
/* Test if QueryInterface increments ref counter for IFONTs */
|
||||||
ret = IFont_AddRef(font);
|
ref = IFont_AddRef(font);
|
||||||
ok(ret == 3 ||
|
ok(ref == 3 ||
|
||||||
broken(ret == 1), /* win95 */
|
broken(ref == 1), /* win95 */
|
||||||
"IFont_QI expected ref value 3 but instead got %d\n",ret);
|
"IFont_QI expected ref value 3 but instead got %d\n", ref);
|
||||||
IFont_Release(font);
|
IFont_Release(font);
|
||||||
|
|
||||||
ok(hres == S_OK,"IFont_QI does not return S_OK, but 0x%08x\n", hres);
|
ok(pvObj != NULL,"IFont_QI does return NULL, instead of a ptr\n");
|
||||||
ok(pvObj != NULL,"IFont_QI does return NULL, instead of a ptr\n");
|
|
||||||
|
|
||||||
/* Original ref and QueryInterface ref both have to be released */
|
IFont_Release(font);
|
||||||
IFont_Release(font);
|
IFont_Release(font);
|
||||||
IFont_Release(font);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_type_info(void)
|
static void test_type_info(void)
|
||||||
|
@ -319,26 +319,26 @@ static void test_font_events_disp(void)
|
||||||
fontdesc.fStrikethrough = FALSE;
|
fontdesc.fStrikethrough = FALSE;
|
||||||
|
|
||||||
hr = pOleCreateFontIndirect(&fontdesc, &IID_IFont, (void **)&pFont);
|
hr = pOleCreateFontIndirect(&fontdesc, &IID_IFont, (void **)&pFont);
|
||||||
ok_ole_success(hr, "OleCreateFontIndirect");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
hr = IFont_QueryInterface(pFont, &IID_IConnectionPointContainer, (void **)&pCPC);
|
hr = IFont_QueryInterface(pFont, &IID_IConnectionPointContainer, (void **)&pCPC);
|
||||||
ok_ole_success(hr, "IFont_QueryInterface");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
hr = IConnectionPointContainer_FindConnectionPoint(pCPC, &IID_IFontEventsDisp, &pCP);
|
hr = IConnectionPointContainer_FindConnectionPoint(pCPC, &IID_IFontEventsDisp, &pCP);
|
||||||
ok_ole_success(hr, "IConnectionPointContainer_FindConnectionPoint");
|
EXPECT_HR(hr, S_OK);
|
||||||
IConnectionPointContainer_Release(pCPC);
|
IConnectionPointContainer_Release(pCPC);
|
||||||
|
|
||||||
hr = IConnectionPoint_Advise(pCP, (IUnknown *)&FontEventsDisp, &dwCookie);
|
hr = IConnectionPoint_Advise(pCP, (IUnknown *)&FontEventsDisp, &dwCookie);
|
||||||
ok_ole_success(hr, "IConnectionPoint_Advise");
|
EXPECT_HR(hr, S_OK);
|
||||||
IConnectionPoint_Release(pCP);
|
IConnectionPoint_Release(pCP);
|
||||||
|
|
||||||
hr = IFont_put_Bold(pFont, TRUE);
|
hr = IFont_put_Bold(pFont, TRUE);
|
||||||
ok_ole_success(hr, "IFont_put_Bold");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
ok(fonteventsdisp_invoke_called == 1, "IFontEventDisp::Invoke wasn't called once\n");
|
ok(fonteventsdisp_invoke_called == 1, "IFontEventDisp::Invoke wasn't called once\n");
|
||||||
|
|
||||||
hr = IFont_QueryInterface(pFont, &IID_IFontDisp, (void **)&pFontDisp);
|
hr = IFont_QueryInterface(pFont, &IID_IFontDisp, (void **)&pFontDisp);
|
||||||
ok_ole_success(hr, "IFont_QueryInterface");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
V_VT(&vararg) = VT_BOOL;
|
V_VT(&vararg) = VT_BOOL;
|
||||||
V_BOOL(&vararg) = VARIANT_FALSE;
|
V_BOOL(&vararg) = VARIANT_FALSE;
|
||||||
|
@ -347,7 +347,7 @@ static void test_font_events_disp(void)
|
||||||
dispparams.cArgs = 1;
|
dispparams.cArgs = 1;
|
||||||
dispparams.rgvarg = &vararg;
|
dispparams.rgvarg = &vararg;
|
||||||
hr = IFontDisp_Invoke(pFontDisp, DISPID_FONT_BOLD, &IID_NULL, 0, DISPATCH_PROPERTYPUT, &dispparams, NULL, NULL, NULL);
|
hr = IFontDisp_Invoke(pFontDisp, DISPID_FONT_BOLD, &IID_NULL, 0, DISPATCH_PROPERTYPUT, &dispparams, NULL, NULL, NULL);
|
||||||
ok(hr == S_OK, "IFontDisp_Invoke return 0x%08x instead of S_OK.\n", hr);
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
IFontDisp_Release(pFontDisp);
|
IFontDisp_Release(pFontDisp);
|
||||||
|
|
||||||
|
@ -355,11 +355,11 @@ static void test_font_events_disp(void)
|
||||||
fonteventsdisp_invoke_called);
|
fonteventsdisp_invoke_called);
|
||||||
|
|
||||||
hr = IFont_Clone(pFont, &pFont2);
|
hr = IFont_Clone(pFont, &pFont2);
|
||||||
ok_ole_success(hr, "IFont_Clone");
|
EXPECT_HR(hr, S_OK);
|
||||||
IFont_Release(pFont);
|
IFont_Release(pFont);
|
||||||
|
|
||||||
hr = IFont_put_Bold(pFont2, FALSE);
|
hr = IFont_put_Bold(pFont2, FALSE);
|
||||||
ok_ole_success(hr, "IFont_put_Bold");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
/* this test shows that the notification routine isn't called again */
|
/* this test shows that the notification routine isn't called again */
|
||||||
ok(fonteventsdisp_invoke_called == 2, "IFontEventDisp::Invoke was called %d times instead of twice\n",
|
ok(fonteventsdisp_invoke_called == 2, "IFontEventDisp::Invoke was called %d times instead of twice\n",
|
||||||
|
@ -486,7 +486,7 @@ static void test_Invoke(void)
|
||||||
VARIANT varresult;
|
VARIANT varresult;
|
||||||
|
|
||||||
hr = pOleCreateFontIndirect(NULL, &IID_IFontDisp, (void **)&fontdisp);
|
hr = pOleCreateFontIndirect(NULL, &IID_IFontDisp, (void **)&fontdisp);
|
||||||
ok_ole_success(hr, "OleCreateFontIndirect");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
V_VT(&vararg) = VT_BOOL;
|
V_VT(&vararg) = VT_BOOL;
|
||||||
V_BOOL(&vararg) = VARIANT_FALSE;
|
V_BOOL(&vararg) = VARIANT_FALSE;
|
||||||
|
@ -495,32 +495,32 @@ static void test_Invoke(void)
|
||||||
dispparams.cArgs = 1;
|
dispparams.cArgs = 1;
|
||||||
dispparams.rgvarg = &vararg;
|
dispparams.rgvarg = &vararg;
|
||||||
hr = IFontDisp_Invoke(fontdisp, DISPID_FONT_BOLD, &IID_IFontDisp, 0, DISPATCH_PROPERTYPUT, &dispparams, NULL, NULL, NULL);
|
hr = IFontDisp_Invoke(fontdisp, DISPID_FONT_BOLD, &IID_IFontDisp, 0, DISPATCH_PROPERTYPUT, &dispparams, NULL, NULL, NULL);
|
||||||
ok(hr == DISP_E_UNKNOWNINTERFACE, "IFontDisp_Invoke should have returned DISP_E_UNKNOWNINTERFACE instead of 0x%08x\n", hr);
|
EXPECT_HR(hr, DISP_E_UNKNOWNINTERFACE);
|
||||||
|
|
||||||
dispparams.cArgs = 0;
|
dispparams.cArgs = 0;
|
||||||
dispparams.rgvarg = NULL;
|
dispparams.rgvarg = NULL;
|
||||||
hr = IFontDisp_Invoke(fontdisp, DISPID_FONT_BOLD, &IID_NULL, 0, DISPATCH_PROPERTYPUT, &dispparams, NULL, NULL, NULL);
|
hr = IFontDisp_Invoke(fontdisp, DISPID_FONT_BOLD, &IID_NULL, 0, DISPATCH_PROPERTYPUT, &dispparams, NULL, NULL, NULL);
|
||||||
ok(hr == DISP_E_BADPARAMCOUNT, "IFontDisp_Invoke should have returned DISP_E_BADPARAMCOUNT instead of 0x%08x\n", hr);
|
EXPECT_HR(hr, DISP_E_BADPARAMCOUNT);
|
||||||
|
|
||||||
hr = IFontDisp_Invoke(fontdisp, DISPID_FONT_BOLD, &IID_NULL, 0, DISPATCH_PROPERTYPUT, NULL, NULL, NULL, NULL);
|
hr = IFontDisp_Invoke(fontdisp, DISPID_FONT_BOLD, &IID_NULL, 0, DISPATCH_PROPERTYPUT, NULL, NULL, NULL, NULL);
|
||||||
ok(hr == DISP_E_PARAMNOTOPTIONAL, "IFontDisp_Invoke should have returned DISP_E_PARAMNOTOPTIONAL instead of 0x%08x\n", hr);
|
EXPECT_HR(hr, DISP_E_PARAMNOTOPTIONAL);
|
||||||
|
|
||||||
hr = IFontDisp_Invoke(fontdisp, DISPID_FONT_BOLD, &IID_NULL, 0, DISPATCH_PROPERTYGET, NULL, NULL, NULL, NULL);
|
hr = IFontDisp_Invoke(fontdisp, DISPID_FONT_BOLD, &IID_NULL, 0, DISPATCH_PROPERTYGET, NULL, NULL, NULL, NULL);
|
||||||
ok(hr == DISP_E_PARAMNOTOPTIONAL, "IFontDisp_Invoke should have returned DISP_E_PARAMNOTOPTIONAL instead of 0x%08x\n", hr);
|
EXPECT_HR(hr, DISP_E_PARAMNOTOPTIONAL);
|
||||||
|
|
||||||
hr = IFontDisp_Invoke(fontdisp, DISPID_FONT_BOLD, &IID_NULL, 0, DISPATCH_PROPERTYGET, NULL, &varresult, NULL, NULL);
|
hr = IFontDisp_Invoke(fontdisp, DISPID_FONT_BOLD, &IID_NULL, 0, DISPATCH_PROPERTYGET, NULL, &varresult, NULL, NULL);
|
||||||
ok_ole_success(hr, "IFontDisp_Invoke");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
hr = IFontDisp_Invoke(fontdisp, DISPID_FONT_BOLD, &IID_NULL, 0, DISPATCH_METHOD, NULL, &varresult, NULL, NULL);
|
hr = IFontDisp_Invoke(fontdisp, DISPID_FONT_BOLD, &IID_NULL, 0, DISPATCH_METHOD, NULL, &varresult, NULL, NULL);
|
||||||
ok(hr == DISP_E_MEMBERNOTFOUND, "IFontDisp_Invoke should have returned DISP_E_MEMBERNOTFOUND instead of 0x%08x\n", hr);
|
EXPECT_HR(hr, DISP_E_MEMBERNOTFOUND);
|
||||||
|
|
||||||
hr = IFontDisp_Invoke(fontdisp, 0xdeadbeef, &IID_NULL, 0, DISPATCH_PROPERTYGET, NULL, &varresult, NULL, NULL);
|
hr = IFontDisp_Invoke(fontdisp, 0xdeadbeef, &IID_NULL, 0, DISPATCH_PROPERTYGET, NULL, &varresult, NULL, NULL);
|
||||||
ok(hr == DISP_E_MEMBERNOTFOUND, "IFontDisp_Invoke should have returned DISP_E_MEMBERNOTFOUND instead of 0x%08x\n", hr);
|
EXPECT_HR(hr, DISP_E_MEMBERNOTFOUND);
|
||||||
|
|
||||||
dispparams.cArgs = 1;
|
dispparams.cArgs = 1;
|
||||||
dispparams.rgvarg = &vararg;
|
dispparams.rgvarg = &vararg;
|
||||||
hr = IFontDisp_Invoke(fontdisp, DISPID_FONT_BOLD, &IID_NULL, 0, DISPATCH_PROPERTYGET, &dispparams, &varresult, NULL, NULL);
|
hr = IFontDisp_Invoke(fontdisp, DISPID_FONT_BOLD, &IID_NULL, 0, DISPATCH_PROPERTYGET, &dispparams, &varresult, NULL, NULL);
|
||||||
ok_ole_success(hr, "IFontDisp_Invoke");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
IFontDisp_Release(fontdisp);
|
IFontDisp_Release(fontdisp);
|
||||||
}
|
}
|
||||||
|
@ -848,27 +848,19 @@ static void test_returns(void)
|
||||||
fontdesc.fStrikethrough = FALSE;
|
fontdesc.fStrikethrough = FALSE;
|
||||||
|
|
||||||
hr = pOleCreateFontIndirect(&fontdesc, &IID_IFont, (void **)&pFont);
|
hr = pOleCreateFontIndirect(&fontdesc, &IID_IFont, (void **)&pFont);
|
||||||
ok_ole_success(hr, "OleCreateFontIndirect");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
hr = IFont_put_Name(pFont, NULL);
|
hr = IFont_put_Name(pFont, NULL);
|
||||||
ok(hr == CTL_E_INVALIDPROPERTYVALUE,
|
EXPECT_HR(hr, CTL_E_INVALIDPROPERTYVALUE);
|
||||||
"IFont::put_Name: Expected CTL_E_INVALIDPROPERTYVALUE got 0x%08x\n",
|
|
||||||
hr);
|
|
||||||
|
|
||||||
hr = IFont_get_Name(pFont, NULL);
|
hr = IFont_get_Name(pFont, NULL);
|
||||||
ok(hr == E_POINTER,
|
EXPECT_HR(hr, E_POINTER);
|
||||||
"IFont::get_Name: Expected E_POINTER got 0x%08x\n",
|
|
||||||
hr);
|
|
||||||
|
|
||||||
hr = IFont_get_Size(pFont, NULL);
|
hr = IFont_get_Size(pFont, NULL);
|
||||||
ok(hr == E_POINTER,
|
EXPECT_HR(hr, E_POINTER);
|
||||||
"IFont::get_Size: Expected E_POINTER got 0x%08x\n",
|
|
||||||
hr);
|
|
||||||
|
|
||||||
hr = IFont_get_Bold(pFont, NULL);
|
hr = IFont_get_Bold(pFont, NULL);
|
||||||
ok(hr == E_POINTER,
|
EXPECT_HR(hr, E_POINTER);
|
||||||
"IFont::get_Bold: Expected E_POINTER got 0x%08x\n",
|
|
||||||
hr);
|
|
||||||
|
|
||||||
IFont_Release(pFont);
|
IFont_Release(pFont);
|
||||||
}
|
}
|
||||||
|
@ -893,10 +885,10 @@ static void test_hfont_lifetime(void)
|
||||||
fontdesc.fStrikethrough = FALSE;
|
fontdesc.fStrikethrough = FALSE;
|
||||||
|
|
||||||
hr = pOleCreateFontIndirect(&fontdesc, &IID_IFont, (void **)&font);
|
hr = pOleCreateFontIndirect(&fontdesc, &IID_IFont, (void **)&font);
|
||||||
ok_ole_success(hr, "OleCreateFontIndirect");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
hr = IFont_get_hFont(font, &hfont);
|
hr = IFont_get_hFont(font, &hfont);
|
||||||
ok_ole_success(hr, "get_hFont");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
/* show that if the font is updated the old hfont is deleted when the
|
/* show that if the font is updated the old hfont is deleted when the
|
||||||
new font is realized */
|
new font is realized */
|
||||||
|
@ -910,14 +902,14 @@ static void test_hfont_lifetime(void)
|
||||||
ok(obj_type == OBJ_FONT, "got obj type %d\n", obj_type);
|
ok(obj_type == OBJ_FONT, "got obj type %d\n", obj_type);
|
||||||
|
|
||||||
hr = IFont_put_Size(font, size);
|
hr = IFont_put_Size(font, size);
|
||||||
ok_ole_success(hr, "put_Size");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
/* put_Size doesn't cause the new font to be realized */
|
/* put_Size doesn't cause the new font to be realized */
|
||||||
obj_type = GetObjectType(last_hfont);
|
obj_type = GetObjectType(last_hfont);
|
||||||
ok(obj_type == OBJ_FONT, "got obj type %d\n", obj_type);
|
ok(obj_type == OBJ_FONT, "got obj type %d\n", obj_type);
|
||||||
|
|
||||||
hr = IFont_get_hFont(font, &hfont);
|
hr = IFont_get_hFont(font, &hfont);
|
||||||
ok_ole_success(hr, "get_hFont");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
obj_type = GetObjectType(last_hfont);
|
obj_type = GetObjectType(last_hfont);
|
||||||
ok(obj_type == 0, "%d: got obj type %d\n", i, obj_type);
|
ok(obj_type == 0, "%d: got obj type %d\n", i, obj_type);
|
||||||
|
@ -927,20 +919,19 @@ static void test_hfont_lifetime(void)
|
||||||
until the font object is released */
|
until the font object is released */
|
||||||
for(i = 0; i < 100; i++)
|
for(i = 0; i < 100; i++)
|
||||||
{
|
{
|
||||||
|
|
||||||
size.int64 = (i + 10) * 20000;
|
size.int64 = (i + 10) * 20000;
|
||||||
|
|
||||||
obj_type = GetObjectType(hfont);
|
obj_type = GetObjectType(hfont);
|
||||||
ok(obj_type == OBJ_FONT, "got obj type %d\n", obj_type);
|
ok(obj_type == OBJ_FONT, "got obj type %d\n", obj_type);
|
||||||
|
|
||||||
hr = IFont_put_Size(font, size);
|
hr = IFont_put_Size(font, size);
|
||||||
ok_ole_success(hr, "put_Size");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
hr = IFont_get_hFont(font, &hfont);
|
hr = IFont_get_hFont(font, &hfont);
|
||||||
ok_ole_success(hr, "get_hFont");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
hr = IFont_AddRefHfont(font, hfont);
|
hr = IFont_AddRefHfont(font, hfont);
|
||||||
ok_ole_success(hr, "AddRefHfont");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
if(i == 0) first_hfont = hfont;
|
if(i == 0) first_hfont = hfont;
|
||||||
obj_type = GetObjectType(first_hfont);
|
obj_type = GetObjectType(first_hfont);
|
||||||
|
@ -956,10 +947,10 @@ static void test_hfont_lifetime(void)
|
||||||
through re-realization */
|
through re-realization */
|
||||||
|
|
||||||
hr = pOleCreateFontIndirect(&fontdesc, &IID_IFont, (void **)&font);
|
hr = pOleCreateFontIndirect(&fontdesc, &IID_IFont, (void **)&font);
|
||||||
ok_ole_success(hr, "OleCreateFontIndirect");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
hr = IFont_get_hFont(font, &hfont);
|
hr = IFont_get_hFont(font, &hfont);
|
||||||
ok_ole_success(hr, "get_hFont");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
for(i = 0; i < 100; i++)
|
for(i = 0; i < 100; i++)
|
||||||
{
|
{
|
||||||
|
@ -971,20 +962,20 @@ static void test_hfont_lifetime(void)
|
||||||
ok(obj_type == OBJ_FONT, "got obj type %d\n", obj_type);
|
ok(obj_type == OBJ_FONT, "got obj type %d\n", obj_type);
|
||||||
|
|
||||||
hr = IFont_put_Size(font, size);
|
hr = IFont_put_Size(font, size);
|
||||||
ok_ole_success(hr, "put_Size");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
/* put_Size doesn't cause the new font to be realized */
|
/* put_Size doesn't cause the new font to be realized */
|
||||||
obj_type = GetObjectType(last_hfont);
|
obj_type = GetObjectType(last_hfont);
|
||||||
ok(obj_type == OBJ_FONT, "got obj type %d\n", obj_type);
|
ok(obj_type == OBJ_FONT, "got obj type %d\n", obj_type);
|
||||||
|
|
||||||
hr = IFont_get_hFont(font, &hfont);
|
hr = IFont_get_hFont(font, &hfont);
|
||||||
ok_ole_success(hr, "get_hFont");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
hr = IFont_AddRefHfont(font, hfont);
|
hr = IFont_AddRefHfont(font, hfont);
|
||||||
ok_ole_success(hr, "AddRefHfont");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
hr = IFont_ReleaseHfont(font, hfont);
|
hr = IFont_ReleaseHfont(font, hfont);
|
||||||
ok_ole_success(hr, "ReleaseHfont");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
obj_type = GetObjectType(last_hfont);
|
obj_type = GetObjectType(last_hfont);
|
||||||
ok(obj_type == 0, "%d: got obj type %d\n", i, obj_type);
|
ok(obj_type == 0, "%d: got obj type %d\n", i, obj_type);
|
||||||
|
@ -1001,13 +992,13 @@ static void test_hfont_lifetime(void)
|
||||||
ok(obj_type == OBJ_FONT, "got obj type %d\n", obj_type);
|
ok(obj_type == OBJ_FONT, "got obj type %d\n", obj_type);
|
||||||
|
|
||||||
hr = IFont_put_Size(font, size);
|
hr = IFont_put_Size(font, size);
|
||||||
ok_ole_success(hr, "put_Size");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
hr = IFont_get_hFont(font, &hfont);
|
hr = IFont_get_hFont(font, &hfont);
|
||||||
ok_ole_success(hr, "get_hFont");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
hr = IFont_ReleaseHfont(font, hfont);
|
hr = IFont_ReleaseHfont(font, hfont);
|
||||||
ok_ole_success(hr, "ReleaseHfont");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
if(i == 0) first_hfont = hfont;
|
if(i == 0) first_hfont = hfont;
|
||||||
obj_type = GetObjectType(first_hfont);
|
obj_type = GetObjectType(first_hfont);
|
||||||
|
@ -1024,23 +1015,23 @@ static void test_hfont_lifetime(void)
|
||||||
that includes internal and external references */
|
that includes internal and external references */
|
||||||
|
|
||||||
hr = pOleCreateFontIndirect(&fontdesc, &IID_IFont, (void **)&font);
|
hr = pOleCreateFontIndirect(&fontdesc, &IID_IFont, (void **)&font);
|
||||||
ok_ole_success(hr, "OleCreateFontIndirect");
|
EXPECT_HR(hr, S_OK);
|
||||||
hr = pOleCreateFontIndirect(&fontdesc, &IID_IFont, (void **)&font2);
|
hr = pOleCreateFontIndirect(&fontdesc, &IID_IFont, (void **)&font2);
|
||||||
ok_ole_success(hr, "OleCreateFontIndirect");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
hr = IFont_get_hFont(font, &hfont);
|
hr = IFont_get_hFont(font, &hfont);
|
||||||
ok_ole_success(hr, "get_hFont");
|
EXPECT_HR(hr, S_OK);
|
||||||
hr = IFont_get_hFont(font2, &first_hfont);
|
hr = IFont_get_hFont(font2, &first_hfont);
|
||||||
ok_ole_success(hr, "get_hFont");
|
EXPECT_HR(hr, S_OK);
|
||||||
todo_wine
|
todo_wine
|
||||||
ok(hfont == first_hfont, "fonts differ\n");
|
ok(hfont == first_hfont, "fonts differ\n");
|
||||||
hr = IFont_ReleaseHfont(font, hfont);
|
hr = IFont_ReleaseHfont(font, hfont);
|
||||||
ok(hr == S_OK, "got %08x\n", hr);
|
EXPECT_HR(hr, S_OK);
|
||||||
hr = IFont_ReleaseHfont(font, hfont);
|
hr = IFont_ReleaseHfont(font, hfont);
|
||||||
todo_wine
|
todo_wine
|
||||||
ok(hr == S_OK, "got %08x\n", hr);
|
EXPECT_HR(hr, S_OK);
|
||||||
hr = IFont_ReleaseHfont(font, hfont);
|
hr = IFont_ReleaseHfont(font, hfont);
|
||||||
ok(hr == S_FALSE, "got %08x\n", hr);
|
EXPECT_HR(hr, S_FALSE);
|
||||||
|
|
||||||
obj_type = GetObjectType(hfont);
|
obj_type = GetObjectType(hfont);
|
||||||
ok(obj_type == OBJ_FONT, "got obj type %d\n", obj_type);
|
ok(obj_type == OBJ_FONT, "got obj type %d\n", obj_type);
|
||||||
|
@ -1077,10 +1068,10 @@ static void test_realization(void)
|
||||||
fontdesc.fStrikethrough = FALSE;
|
fontdesc.fStrikethrough = FALSE;
|
||||||
|
|
||||||
hr = pOleCreateFontIndirect(&fontdesc, &IID_IFont, (void **)&font);
|
hr = pOleCreateFontIndirect(&fontdesc, &IID_IFont, (void **)&font);
|
||||||
ok_ole_success(hr, "OleCreateFontIndirect");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
hr = IFont_get_Charset(font, &cs);
|
hr = IFont_get_Charset(font, &cs);
|
||||||
ok_ole_success(hr, "get_Charset");
|
EXPECT_HR(hr, S_OK);
|
||||||
ok(cs == ANSI_CHARSET, "got charset %d\n", cs);
|
ok(cs == ANSI_CHARSET, "got charset %d\n", cs);
|
||||||
|
|
||||||
IFont_Release(font);
|
IFont_Release(font);
|
||||||
|
@ -1090,24 +1081,24 @@ static void test_realization(void)
|
||||||
fontdesc.lpstrName = arial_font;
|
fontdesc.lpstrName = arial_font;
|
||||||
|
|
||||||
hr = pOleCreateFontIndirect(&fontdesc, &IID_IFont, (void **)&font);
|
hr = pOleCreateFontIndirect(&fontdesc, &IID_IFont, (void **)&font);
|
||||||
ok_ole_success(hr, "OleCreateFontIndirect");
|
EXPECT_HR(hr, S_OK);
|
||||||
|
|
||||||
hr = IFont_get_Charset(font, &cs);
|
hr = IFont_get_Charset(font, &cs);
|
||||||
ok_ole_success(hr, "get_Charset");
|
EXPECT_HR(hr, S_OK);
|
||||||
ok(cs == ANSI_CHARSET, "got charset %d\n", cs);
|
ok(cs == ANSI_CHARSET, "got charset %d\n", cs);
|
||||||
|
|
||||||
name = SysAllocString(marlett_font);
|
name = SysAllocString(marlett_font);
|
||||||
hr = IFont_put_Name(font, name);
|
hr = IFont_put_Name(font, name);
|
||||||
ok_ole_success(hr, "put_Name");
|
EXPECT_HR(hr, S_OK);
|
||||||
SysFreeString(name);
|
SysFreeString(name);
|
||||||
|
|
||||||
hr = IFont_get_Name(font, &name);
|
hr = IFont_get_Name(font, &name);
|
||||||
ok_ole_success(hr, "get_Name");
|
EXPECT_HR(hr, S_OK);
|
||||||
ok(!lstrcmpiW(name, marlett_font), "got name %s\n", wine_dbgstr_w(name));
|
ok(!lstrcmpiW(name, marlett_font), "got name %s\n", wine_dbgstr_w(name));
|
||||||
SysFreeString(name);
|
SysFreeString(name);
|
||||||
|
|
||||||
hr = IFont_get_Charset(font, &cs);
|
hr = IFont_get_Charset(font, &cs);
|
||||||
ok_ole_success(hr, "get_Charset");
|
EXPECT_HR(hr, S_OK);
|
||||||
ok(cs == SYMBOL_CHARSET, "got charset %d\n", cs);
|
ok(cs == SYMBOL_CHARSET, "got charset %d\n", cs);
|
||||||
|
|
||||||
IFont_Release(font);
|
IFont_Release(font);
|
||||||
|
@ -1115,24 +1106,24 @@ static void test_realization(void)
|
||||||
|
|
||||||
START_TEST(olefont)
|
START_TEST(olefont)
|
||||||
{
|
{
|
||||||
hOleaut32 = GetModuleHandleA("oleaut32.dll");
|
hOleaut32 = GetModuleHandleA("oleaut32.dll");
|
||||||
pOleCreateFontIndirect = (void*)GetProcAddress(hOleaut32, "OleCreateFontIndirect");
|
pOleCreateFontIndirect = (void*)GetProcAddress(hOleaut32, "OleCreateFontIndirect");
|
||||||
if (!pOleCreateFontIndirect)
|
if (!pOleCreateFontIndirect)
|
||||||
{
|
{
|
||||||
win_skip("OleCreateFontIndirect not available\n");
|
win_skip("OleCreateFontIndirect not available\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
test_QueryInterface();
|
test_QueryInterface();
|
||||||
test_type_info();
|
test_type_info();
|
||||||
test_ifont_sizes();
|
test_ifont_sizes();
|
||||||
test_font_events_disp();
|
test_font_events_disp();
|
||||||
test_GetIDsOfNames();
|
test_GetIDsOfNames();
|
||||||
test_Invoke();
|
test_Invoke();
|
||||||
test_IsEqual();
|
test_IsEqual();
|
||||||
test_ReleaseHfont();
|
test_ReleaseHfont();
|
||||||
test_AddRefHfont();
|
test_AddRefHfont();
|
||||||
test_returns();
|
test_returns();
|
||||||
test_hfont_lifetime();
|
test_hfont_lifetime();
|
||||||
test_realization();
|
test_realization();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue