msxml3/tests: Fix test failures with IObjectWithSite.

This fixes test failure on Win8 that apparently implements it same way
as wine does. Refcount tests are removed, added corresponding broken
condition.

From 77c26c7a1a7a0fc63a89f3515f748752b679c891 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov@codeweavers.com>
Date: Fri, 19 Jul 2013 08:16:21 +0400
Subject: [PATCH 26/26] Fix test failures with IObjectWithSite
This commit is contained in:
Nikolay Sivov 2013-07-19 08:16:21 +04:00 committed by Alexandre Julliard
parent 186d8553c1
commit 47159b6a66
1 changed files with 4 additions and 34 deletions

View File

@ -1687,58 +1687,28 @@ static void test_XMLHTTP(void)
IDispatch_Release(event);
/* interaction with object site */
EXPECT_REF(xhr, 1);
hr = IXMLHttpRequest_QueryInterface(xhr, &IID_IObjectWithSite, (void**)&obj_site);
EXPECT_HR(hr, S_OK);
todo_wine {
EXPECT_REF(xhr, 1);
EXPECT_REF(obj_site, 1);
}
hr = IObjectWithSite_SetSite(obj_site, NULL);
ok(hr == S_OK, "got 0x%08x\n", hr);
IObjectWithSite_AddRef(obj_site);
todo_wine {
EXPECT_REF(obj_site, 2);
EXPECT_REF(xhr, 1);
}
IObjectWithSite_Release(obj_site);
hr = IXMLHttpRequest_QueryInterface(xhr, &IID_IObjectWithSite, (void**)&obj_site2);
EXPECT_HR(hr, S_OK);
todo_wine {
EXPECT_REF(xhr, 1);
EXPECT_REF(obj_site, 1);
EXPECT_REF(obj_site2, 1);
ok(obj_site != obj_site2, "expected new instance\n");
}
IObjectWithSite_Release(obj_site);
ok(obj_site == obj_site2 || broken(obj_site != obj_site2), "got new instance\n");
IObjectWithSite_Release(obj_site2);
set_xhr_site(xhr);
/* try to set site another time */
/* to be removed once IObjectWithSite is properly separated */
SET_EXPECT(site_qi_IServiceProvider);
SET_EXPECT(sp_queryservice_SID_SContainerDispatch_htmldoc2);
hr = IObjectWithSite_SetSite(obj_site2, &testsite);
hr = IObjectWithSite_SetSite(obj_site, &testsite);
EXPECT_HR(hr, S_OK);
todo_wine EXPECT_REF(xhr, 1);
IObjectWithSite_Release(obj_site);
IXMLHttpRequest_Release(xhr);
/* still works after request is released */
/* to be removed once IObjectWithSite is properly separated */
SET_EXPECT(site_qi_IServiceProvider);
SET_EXPECT(sp_queryservice_SID_SContainerDispatch_htmldoc2);
hr = IObjectWithSite_SetSite(obj_site2, &testsite);
EXPECT_HR(hr, S_OK);
IObjectWithSite_Release(obj_site2);
free_bstrs();
}