Jacek Caban : urlmon: Fixed url.c tests on IE11.
Alexandre Julliard
julliard at winehq.org
Thu Feb 27 14:49:24 CST 2014
Module: wine
Branch: master
Commit: f88b51731f90242f808788740cc8e7ca3101e928
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f88b51731f90242f808788740cc8e7ca3101e928
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu Feb 27 16:36:10 2014 +0100
urlmon: Fixed url.c tests on IE11.
---
dlls/urlmon/tests/url.c | 32 +++++++++++++++++++-------------
1 file changed, 19 insertions(+), 13 deletions(-)
diff --git a/dlls/urlmon/tests/url.c b/dlls/urlmon/tests/url.c
index 98e5187..1b32f34 100644
--- a/dlls/urlmon/tests/url.c
+++ b/dlls/urlmon/tests/url.c
@@ -42,6 +42,7 @@ static HRESULT (WINAPI *pCreateUri)(LPCWSTR, DWORD, DWORD_PTR, IUri**);
DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
DEFINE_GUID(CLSID_IdentityUnmarshal,0x0000001b,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
DEFINE_GUID(IID_IBindStatusCallbackHolder,0x79eac9cc,0xbaf9,0x11ce,0x8c,0x82,0x00,0xaa,0x00,0x4b,0xa9,0x0b);
+static const IID IID_undocumentedIE11 = {0xd5ae15f6,0x2032,0x488e,{0x8f,0x96,0xf9,0x24,0x06,0xd8,0xd8,0xb4}};
extern CLSID CLSID_AboutProtocol;
#define DEFINE_EXPECT(func) \
@@ -88,7 +89,6 @@ DEFINE_EXPECT(QueryInterface_IHttpNegotiate);
DEFINE_EXPECT(QueryInterface_IBindStatusCallback);
DEFINE_EXPECT(QueryInterface_IBindStatusCallbackEx);
DEFINE_EXPECT(QueryInterface_IBindStatusCallbackHolder);
-DEFINE_EXPECT(QueryInterface_IInternetBindInfo);
DEFINE_EXPECT(QueryInterface_IAuthenticate);
DEFINE_EXPECT(QueryInterface_IInternetProtocol);
DEFINE_EXPECT(QueryInterface_IWindowForBindingUI);
@@ -694,11 +694,9 @@ static HRESULT WINAPI Protocol_Start(IInternetProtocol *iface, LPCWSTR szUrl,
static const WCHAR wszMimes[] = {'*','/','*',0};
- SET_EXPECT(QueryInterface_IInternetBindInfo);
SET_EXPECT(QueryService_IInternetBindInfo);
hres = IInternetBindInfo_GetBindString(pOIBindInfo, BINDSTRING_USER_AGENT,
&ua, 1, &fetched);
- CLEAR_CALLED(QueryInterface_IInternetBindInfo); /* IE <8 */
CLEAR_CALLED(QueryService_IInternetBindInfo); /* IE <8 */
ok(hres == E_NOINTERFACE,
@@ -1437,6 +1435,12 @@ static HRESULT WINAPI ServiceProvider_QueryService(IServiceProvider *iface,
return E_NOINTERFACE;
}
+ if(IsEqualGUID(&IID_undocumentedIE11, guidService)) {
+ trace("QueryService(IID_undocumentedIE11)\n");
+ *ppv = NULL;
+ return E_NOINTERFACE;
+ }
+
ok(0, "unexpected service %s\n", wine_dbgstr_guid(guidService));
return E_NOINTERFACE;
}
@@ -1543,7 +1547,6 @@ static HRESULT WINAPI statusclb_QueryInterface(IBindStatusCallbackEx *iface, REF
return S_OK;
}else if(IsEqualGUID(&IID_IInternetBindInfo, riid)) {
/* TODO */
- CHECK_EXPECT2(QueryInterface_IInternetBindInfo);
}else if(IsEqualGUID(&IID_IWindowForBindingUI, riid)) {
CHECK_EXPECT2(QueryInterface_IWindowForBindingUI);
return E_NOINTERFACE;
@@ -1558,6 +1561,10 @@ static HRESULT WINAPI statusclb_QueryInterface(IBindStatusCallbackEx *iface, REF
trace("QI(IID_undocumentedIE10)\n");
*ppv = NULL;
return E_NOINTERFACE;
+ }else if(IsEqualGUID(&IID_undocumentedIE11, riid)) {
+ trace("QI(IID_undocumentedIE11)\n");
+ *ppv = NULL;
+ return E_NOINTERFACE;
}else {
ok(0, "unexpected interface %s\n", wine_dbgstr_guid(riid));
}
@@ -2950,7 +2957,6 @@ static void test_BindToStorage(int protocol, DWORD flags, DWORD t)
SET_EXPECT(UnlockRequest);
}else {
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST || test_protocol == WINETEST_TEST) {
- SET_EXPECT(QueryInterface_IInternetBindInfo);
SET_EXPECT(QueryService_IInternetBindInfo);
if(!abort_start)
SET_EXPECT(QueryInterface_IHttpNegotiate);
@@ -3082,7 +3088,7 @@ static void test_BindToStorage(int protocol, DWORD flags, DWORD t)
}
if(emulate_protocol) {
if(is_urlmon_protocol(test_protocol))
- CHECK_CALLED(SetPriority);
+ CLEAR_CALLED(SetPriority); /* Not called by IE11 */
CHECK_CALLED(Start);
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST || test_protocol == WINETEST_TEST
|| test_protocol == WINETEST_SYNC_TEST) {
@@ -3094,7 +3100,6 @@ static void test_BindToStorage(int protocol, DWORD flags, DWORD t)
CHECK_CALLED(UnlockRequest);
}else {
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST || test_protocol == WINETEST_TEST) {
- CLEAR_CALLED(QueryInterface_IInternetBindInfo);
CLEAR_CALLED(QueryService_IInternetBindInfo);
if(!abort_start)
CHECK_CALLED(QueryInterface_IHttpNegotiate);
@@ -3335,7 +3340,7 @@ static void test_BindToObject(int protocol, DWORD flags, HRESULT exhres)
CHECK_CALLED(Obj_OnStartBinding);
if(emulate_protocol) {
if(is_urlmon_protocol(test_protocol))
- CHECK_CALLED(SetPriority);
+ CLEAR_CALLED(SetPriority); /* Not called by IE11 */
CHECK_CALLED(Start);
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
CHECK_CALLED(Terminate);
@@ -3415,10 +3420,9 @@ static void test_URLDownloadToFile(DWORD prot, BOOL emul)
SET_EXPECT(GetBindInfo);
SET_EXPECT(QueryInterface_IInternetProtocol);
- if(!emulate_protocol) {
- SET_EXPECT(QueryInterface_IServiceProvider);
+ SET_EXPECT(QueryInterface_IServiceProvider);
+ if(!emulate_protocol)
SET_EXPECT(QueryService_IInternetProtocol);
- }
SET_EXPECT(OnStartBinding);
if(emulate_protocol) {
if(is_urlmon_protocol(test_protocol))
@@ -3458,11 +3462,13 @@ static void test_URLDownloadToFile(DWORD prot, BOOL emul)
if(!emulate_protocol) {
CHECK_CALLED(QueryInterface_IServiceProvider);
CHECK_CALLED(QueryService_IInternetProtocol);
+ }else {
+ CLEAR_CALLED(QueryInterface_IServiceProvider);
}
CHECK_CALLED(OnStartBinding);
if(emulate_protocol) {
if(is_urlmon_protocol(test_protocol))
- CHECK_CALLED(SetPriority);
+ CLEAR_CALLED(SetPriority); /* Not called by IE11 */
CHECK_CALLED(Start);
CHECK_CALLED(UnlockRequest);
}else {
@@ -3715,7 +3721,7 @@ static void test_ReportResult(HRESULT exhres)
CHECK_CALLED(QueryInterface_IInternetProtocol);
CHECK_CALLED(OnStartBinding);
if(is_urlmon_protocol(test_protocol))
- CHECK_CALLED(SetPriority);
+ CLEAR_CALLED(SetPriority); /* Not called by IE11 */
CHECK_CALLED(Start);
ok(unk == NULL, "unk=%p\n", unk);
More information about the wine-cvs
mailing list