forked from Mirrors/wine-wine
urlmon: Added https binding tests.
parent
1876f46bcf
commit
66a7da71ee
|
@ -138,6 +138,10 @@ static const WCHAR ITS_URL[] =
|
||||||
{'i','t','s',':','t','e','s','t','.','c','h','m',':',':','/','b','l','a','n','k','.','h','t','m','l',0};
|
{'i','t','s',':','t','e','s','t','.','c','h','m',':',':','/','b','l','a','n','k','.','h','t','m','l',0};
|
||||||
static const WCHAR MK_URL[] = {'m','k',':','@','M','S','I','T','S','t','o','r','e',':',
|
static const WCHAR MK_URL[] = {'m','k',':','@','M','S','I','T','S','t','o','r','e',':',
|
||||||
't','e','s','t','.','c','h','m',':',':','/','b','l','a','n','k','.','h','t','m','l',0};
|
't','e','s','t','.','c','h','m',':',':','/','b','l','a','n','k','.','h','t','m','l',0};
|
||||||
|
static const WCHAR https_urlW[] =
|
||||||
|
{'h','t','t','p','s',':','/','/','w','w','w','.','c','o','d','e','w','e','a','v','e','r','s','.','c','o','m',
|
||||||
|
'/','t','e','s','t','.','h','t','m','l',0};
|
||||||
|
|
||||||
|
|
||||||
static const WCHAR wszTextHtml[] = {'t','e','x','t','/','h','t','m','l',0};
|
static const WCHAR wszTextHtml[] = {'t','e','x','t','/','h','t','m','l',0};
|
||||||
|
|
||||||
|
@ -168,7 +172,8 @@ static LPCWSTR urls[] = {
|
||||||
ABOUT_BLANK,
|
ABOUT_BLANK,
|
||||||
INDEX_HTML,
|
INDEX_HTML,
|
||||||
ITS_URL,
|
ITS_URL,
|
||||||
MK_URL
|
MK_URL,
|
||||||
|
https_urlW
|
||||||
};
|
};
|
||||||
|
|
||||||
static WCHAR file_url[INTERNET_MAX_URL_LENGTH];
|
static WCHAR file_url[INTERNET_MAX_URL_LENGTH];
|
||||||
|
@ -178,7 +183,8 @@ static enum {
|
||||||
ABOUT_TEST,
|
ABOUT_TEST,
|
||||||
FILE_TEST,
|
FILE_TEST,
|
||||||
ITS_TEST,
|
ITS_TEST,
|
||||||
MK_TEST
|
MK_TEST,
|
||||||
|
HTTPS_TEST
|
||||||
} test_protocol;
|
} test_protocol;
|
||||||
|
|
||||||
static enum {
|
static enum {
|
||||||
|
@ -397,7 +403,8 @@ static HRESULT WINAPI Protocol_Start(IInternetProtocol *iface, LPCWSTR szUrl,
|
||||||
if(filedwl_api) {
|
if(filedwl_api) {
|
||||||
ok(bindf == (BINDF_PULLDATA|BINDF_FROMURLMON|BINDF_NEEDFILE), "bindf=%08x\n", bindf);
|
ok(bindf == (BINDF_PULLDATA|BINDF_FROMURLMON|BINDF_NEEDFILE), "bindf=%08x\n", bindf);
|
||||||
}else if(tymed == TYMED_ISTREAM
|
}else if(tymed == TYMED_ISTREAM
|
||||||
&& (test_protocol == FILE_TEST || test_protocol == MK_TEST || test_protocol == HTTP_TEST)) {
|
&& (test_protocol == FILE_TEST || test_protocol == MK_TEST
|
||||||
|
|| test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)) {
|
||||||
ok(bindf == (BINDF_ASYNCHRONOUS|BINDF_ASYNCSTORAGE|BINDF_PULLDATA
|
ok(bindf == (BINDF_ASYNCHRONOUS|BINDF_ASYNCSTORAGE|BINDF_PULLDATA
|
||||||
|BINDF_FROMURLMON),
|
|BINDF_FROMURLMON),
|
||||||
"bindf=%08x\n", bindf);
|
"bindf=%08x\n", bindf);
|
||||||
|
@ -447,7 +454,7 @@ static HRESULT WINAPI Protocol_Start(IInternetProtocol *iface, LPCWSTR szUrl,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(test_protocol == HTTP_TEST) {
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST) {
|
||||||
IServiceProvider *service_provider;
|
IServiceProvider *service_provider;
|
||||||
IHttpNegotiate *http_negotiate;
|
IHttpNegotiate *http_negotiate;
|
||||||
IHttpNegotiate2 *http_negotiate2;
|
IHttpNegotiate2 *http_negotiate2;
|
||||||
|
@ -672,6 +679,11 @@ static HRESULT WINAPI Protocol_Continue(IInternetProtocol *iface,
|
||||||
IHttpNegotiate_Release(http_negotiate);
|
IHttpNegotiate_Release(http_negotiate);
|
||||||
ok(hres == S_OK, "OnResponse failed: %08x\n", hres);
|
ok(hres == S_OK, "OnResponse failed: %08x\n", hres);
|
||||||
|
|
||||||
|
if(test_protocol == HTTPS_TEST) {
|
||||||
|
hres = IInternetProtocolSink_ReportProgress(protocol_sink, BINDSTATUS_ACCEPTRANGES, NULL);
|
||||||
|
ok(hres == S_OK, "ReportProgress(BINDSTATUS_ACCEPTRANGES) failed: %08x\n", hres);
|
||||||
|
}
|
||||||
|
|
||||||
hres = IInternetProtocolSink_ReportProgress(protocol_sink,
|
hres = IInternetProtocolSink_ReportProgress(protocol_sink,
|
||||||
BINDSTATUS_MIMETYPEAVAILABLE, wszTextHtml);
|
BINDSTATUS_MIMETYPEAVAILABLE, wszTextHtml);
|
||||||
ok(hres == S_OK,
|
ok(hres == S_OK,
|
||||||
|
@ -772,7 +784,7 @@ static HRESULT WINAPI Protocol_Read(IInternetProtocol *iface, void *pv,
|
||||||
|
|
||||||
CHECK_EXPECT2(Read);
|
CHECK_EXPECT2(Read);
|
||||||
|
|
||||||
if(test_protocol == HTTP_TEST) {
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST) {
|
||||||
HRESULT hres;
|
HRESULT hres;
|
||||||
|
|
||||||
static BOOL pending = TRUE;
|
static BOOL pending = TRUE;
|
||||||
|
@ -1206,7 +1218,7 @@ static HRESULT WINAPI statusclb_OnProgress(IBindStatusCallback *iface, ULONG ulP
|
||||||
download_state = END_DOWNLOAD;
|
download_state = END_DOWNLOAD;
|
||||||
break;
|
break;
|
||||||
case BINDSTATUS_CACHEFILENAMEAVAILABLE:
|
case BINDSTATUS_CACHEFILENAMEAVAILABLE:
|
||||||
if(test_protocol != HTTP_TEST) {
|
if(test_protocol != HTTP_TEST && test_protocol != HTTPS_TEST) {
|
||||||
if(iface == &objbsc)
|
if(iface == &objbsc)
|
||||||
CHECK_EXPECT(Obj_OnProgress_CACHEFILENAMEAVAILABLE);
|
CHECK_EXPECT(Obj_OnProgress_CACHEFILENAMEAVAILABLE);
|
||||||
else
|
else
|
||||||
|
@ -1279,7 +1291,7 @@ static HRESULT WINAPI statusclb_OnStopBinding(IBindStatusCallback *iface, HRESUL
|
||||||
ok(hresult == binding_hres, "binding failed: %08x, expected %08x\n", hresult, binding_hres);
|
ok(hresult == binding_hres, "binding failed: %08x, expected %08x\n", hresult, binding_hres);
|
||||||
ok(szError == NULL, "szError should be NULL\n");
|
ok(szError == NULL, "szError should be NULL\n");
|
||||||
|
|
||||||
if(test_protocol == HTTP_TEST && emulate_protocol) {
|
if((test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST) && emulate_protocol) {
|
||||||
SetEvent(complete_event);
|
SetEvent(complete_event);
|
||||||
if(iface != &objbsc)
|
if(iface != &objbsc)
|
||||||
WaitForSingleObject(complete_event2, INFINITE);
|
WaitForSingleObject(complete_event2, INFINITE);
|
||||||
|
@ -1379,7 +1391,8 @@ static HRESULT WINAPI statusclb_OnDataAvailable(IBindStatusCallback *iface, DWOR
|
||||||
ok(pstgmed->u.lpszFileName != NULL, "lpszFileName == NULL\n");
|
ok(pstgmed->u.lpszFileName != NULL, "lpszFileName == NULL\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(test_protocol == HTTP_TEST && emulate_protocol && prot_state < 4 && (!bind_to_object || prot_state > 1))
|
if((test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
|
&& emulate_protocol && prot_state < 4 && (!bind_to_object || prot_state > 1))
|
||||||
SetEvent(complete_event);
|
SetEvent(complete_event);
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
|
@ -1508,7 +1521,7 @@ static HRESULT WINAPI PersistMoniker_Load(IPersistMoniker *iface, BOOL fFullyAva
|
||||||
CHECK_EXPECT(Load);
|
CHECK_EXPECT(Load);
|
||||||
ok(GetCurrentThreadId() == thread_id, "wrong thread %d\n", GetCurrentThreadId());
|
ok(GetCurrentThreadId() == thread_id, "wrong thread %d\n", GetCurrentThreadId());
|
||||||
|
|
||||||
if(test_protocol == HTTP_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
ok(!fFullyAvailable, "fFulyAvailable = %x\n", fFullyAvailable);
|
ok(!fFullyAvailable, "fFulyAvailable = %x\n", fFullyAvailable);
|
||||||
else
|
else
|
||||||
ok(fFullyAvailable, "fFulyAvailable = %x\n", fFullyAvailable);
|
ok(fFullyAvailable, "fFulyAvailable = %x\n", fFullyAvailable);
|
||||||
|
@ -1538,11 +1551,11 @@ static HRESULT WINAPI PersistMoniker_Load(IPersistMoniker *iface, BOOL fFullyAva
|
||||||
SET_EXPECT(OnProgress_BEGINDOWNLOADDATA);
|
SET_EXPECT(OnProgress_BEGINDOWNLOADDATA);
|
||||||
if(test_protocol == FILE_TEST)
|
if(test_protocol == FILE_TEST)
|
||||||
SET_EXPECT(OnProgress_CACHEFILENAMEAVAILABLE);
|
SET_EXPECT(OnProgress_CACHEFILENAMEAVAILABLE);
|
||||||
if(test_protocol != HTTP_TEST)
|
if(test_protocol != HTTP_TEST && test_protocol != HTTPS_TEST)
|
||||||
SET_EXPECT(OnProgress_ENDDOWNLOADDATA);
|
SET_EXPECT(OnProgress_ENDDOWNLOADDATA);
|
||||||
SET_EXPECT(LockRequest);
|
SET_EXPECT(LockRequest);
|
||||||
SET_EXPECT(OnDataAvailable);
|
SET_EXPECT(OnDataAvailable);
|
||||||
if(test_protocol != HTTP_TEST)
|
if(test_protocol != HTTP_TEST && test_protocol != HTTPS_TEST)
|
||||||
SET_EXPECT(OnStopBinding);
|
SET_EXPECT(OnStopBinding);
|
||||||
|
|
||||||
hres = IMoniker_BindToStorage(pimkName, pibc, NULL, &IID_IStream, (void**)&unk);
|
hres = IMoniker_BindToStorage(pimkName, pibc, NULL, &IID_IStream, (void**)&unk);
|
||||||
|
@ -1553,11 +1566,11 @@ static HRESULT WINAPI PersistMoniker_Load(IPersistMoniker *iface, BOOL fFullyAva
|
||||||
CHECK_CALLED(OnProgress_BEGINDOWNLOADDATA);
|
CHECK_CALLED(OnProgress_BEGINDOWNLOADDATA);
|
||||||
if(test_protocol == FILE_TEST)
|
if(test_protocol == FILE_TEST)
|
||||||
CHECK_CALLED(OnProgress_CACHEFILENAMEAVAILABLE);
|
CHECK_CALLED(OnProgress_CACHEFILENAMEAVAILABLE);
|
||||||
if(test_protocol != HTTP_TEST)
|
if(test_protocol != HTTP_TEST && test_protocol != HTTPS_TEST)
|
||||||
CHECK_CALLED(OnProgress_ENDDOWNLOADDATA);
|
CHECK_CALLED(OnProgress_ENDDOWNLOADDATA);
|
||||||
CHECK_CALLED(LockRequest);
|
CHECK_CALLED(LockRequest);
|
||||||
CHECK_CALLED(OnDataAvailable);
|
CHECK_CALLED(OnDataAvailable);
|
||||||
if(test_protocol != HTTP_TEST)
|
if(test_protocol != HTTP_TEST && test_protocol != HTTPS_TEST)
|
||||||
CHECK_CALLED(OnStopBinding);
|
CHECK_CALLED(OnStopBinding);
|
||||||
|
|
||||||
if(unk)
|
if(unk)
|
||||||
|
@ -2044,12 +2057,12 @@ static void test_BindToStorage(int protocol, BOOL emul, DWORD t)
|
||||||
SET_EXPECT(OnStartBinding);
|
SET_EXPECT(OnStartBinding);
|
||||||
if(emulate_protocol) {
|
if(emulate_protocol) {
|
||||||
SET_EXPECT(Start);
|
SET_EXPECT(Start);
|
||||||
if(test_protocol == HTTP_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
SET_EXPECT(Terminate);
|
SET_EXPECT(Terminate);
|
||||||
if(tymed != TYMED_FILE || (test_protocol != ABOUT_TEST && test_protocol != ITS_TEST))
|
if(tymed != TYMED_FILE || (test_protocol != ABOUT_TEST && test_protocol != ITS_TEST))
|
||||||
SET_EXPECT(UnlockRequest);
|
SET_EXPECT(UnlockRequest);
|
||||||
}else {
|
}else {
|
||||||
if(test_protocol == HTTP_TEST) {
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST) {
|
||||||
SET_EXPECT(QueryInterface_IInternetBindInfo);
|
SET_EXPECT(QueryInterface_IInternetBindInfo);
|
||||||
SET_EXPECT(QueryService_IInternetBindInfo);
|
SET_EXPECT(QueryService_IInternetBindInfo);
|
||||||
SET_EXPECT(QueryInterface_IHttpNegotiate);
|
SET_EXPECT(QueryInterface_IHttpNegotiate);
|
||||||
|
@ -2059,15 +2072,15 @@ static void test_BindToStorage(int protocol, BOOL emul, DWORD t)
|
||||||
SET_EXPECT(OnProgress_FINDINGRESOURCE);
|
SET_EXPECT(OnProgress_FINDINGRESOURCE);
|
||||||
SET_EXPECT(OnProgress_CONNECTING);
|
SET_EXPECT(OnProgress_CONNECTING);
|
||||||
}
|
}
|
||||||
if(test_protocol == HTTP_TEST || test_protocol == FILE_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST || test_protocol == FILE_TEST)
|
||||||
SET_EXPECT(OnProgress_SENDINGREQUEST);
|
SET_EXPECT(OnProgress_SENDINGREQUEST);
|
||||||
if(test_protocol == HTTP_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
SET_EXPECT(OnResponse);
|
SET_EXPECT(OnResponse);
|
||||||
SET_EXPECT(OnProgress_MIMETYPEAVAILABLE);
|
SET_EXPECT(OnProgress_MIMETYPEAVAILABLE);
|
||||||
SET_EXPECT(OnProgress_BEGINDOWNLOADDATA);
|
SET_EXPECT(OnProgress_BEGINDOWNLOADDATA);
|
||||||
if(test_protocol == FILE_TEST)
|
if(test_protocol == FILE_TEST)
|
||||||
SET_EXPECT(OnProgress_CACHEFILENAMEAVAILABLE);
|
SET_EXPECT(OnProgress_CACHEFILENAMEAVAILABLE);
|
||||||
if(test_protocol == HTTP_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
SET_EXPECT(OnProgress_DOWNLOADINGDATA);
|
SET_EXPECT(OnProgress_DOWNLOADINGDATA);
|
||||||
SET_EXPECT(OnProgress_ENDDOWNLOADDATA);
|
SET_EXPECT(OnProgress_ENDDOWNLOADDATA);
|
||||||
if(tymed != TYMED_FILE || test_protocol != ABOUT_TEST)
|
if(tymed != TYMED_FILE || test_protocol != ABOUT_TEST)
|
||||||
|
@ -2076,7 +2089,8 @@ static void test_BindToStorage(int protocol, BOOL emul, DWORD t)
|
||||||
}
|
}
|
||||||
|
|
||||||
hres = IMoniker_BindToStorage(mon, bctx, NULL, tymed == TYMED_ISTREAM ? &IID_IStream : &IID_IUnknown, (void**)&unk);
|
hres = IMoniker_BindToStorage(mon, bctx, NULL, tymed == TYMED_ISTREAM ? &IID_IStream : &IID_IUnknown, (void**)&unk);
|
||||||
if (test_protocol == HTTP_TEST && hres == HRESULT_FROM_WIN32(ERROR_INTERNET_NAME_NOT_RESOLVED))
|
if ((test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
|
&& hres == HRESULT_FROM_WIN32(ERROR_INTERNET_NAME_NOT_RESOLVED))
|
||||||
{
|
{
|
||||||
skip("Network unreachable, skipping tests\n");
|
skip("Network unreachable, skipping tests\n");
|
||||||
return;
|
return;
|
||||||
|
@ -2113,7 +2127,7 @@ static void test_BindToStorage(int protocol, BOOL emul, DWORD t)
|
||||||
CHECK_CALLED(OnStartBinding);
|
CHECK_CALLED(OnStartBinding);
|
||||||
if(emulate_protocol) {
|
if(emulate_protocol) {
|
||||||
CHECK_CALLED(Start);
|
CHECK_CALLED(Start);
|
||||||
if(test_protocol == HTTP_TEST) {
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST) {
|
||||||
if(tymed == TYMED_FILE)
|
if(tymed == TYMED_FILE)
|
||||||
CLEAR_CALLED(Read);
|
CLEAR_CALLED(Read);
|
||||||
CHECK_CALLED(Terminate);
|
CHECK_CALLED(Terminate);
|
||||||
|
@ -2121,7 +2135,7 @@ static void test_BindToStorage(int protocol, BOOL emul, DWORD t)
|
||||||
if(tymed != TYMED_FILE || (test_protocol != ABOUT_TEST && test_protocol != ITS_TEST))
|
if(tymed != TYMED_FILE || (test_protocol != ABOUT_TEST && test_protocol != ITS_TEST))
|
||||||
CHECK_CALLED(UnlockRequest);
|
CHECK_CALLED(UnlockRequest);
|
||||||
}else {
|
}else {
|
||||||
if(test_protocol == HTTP_TEST) {
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST) {
|
||||||
CLEAR_CALLED(QueryInterface_IInternetBindInfo);
|
CLEAR_CALLED(QueryInterface_IInternetBindInfo);
|
||||||
CLEAR_CALLED(QueryService_IInternetBindInfo);
|
CLEAR_CALLED(QueryService_IInternetBindInfo);
|
||||||
CHECK_CALLED(QueryInterface_IHttpNegotiate);
|
CHECK_CALLED(QueryInterface_IHttpNegotiate);
|
||||||
|
@ -2131,7 +2145,7 @@ static void test_BindToStorage(int protocol, BOOL emul, DWORD t)
|
||||||
CHECK_CALLED(QueryInterface_IHttpNegotiate2);
|
CHECK_CALLED(QueryInterface_IHttpNegotiate2);
|
||||||
CHECK_CALLED(GetRootSecurityId);
|
CHECK_CALLED(GetRootSecurityId);
|
||||||
}
|
}
|
||||||
if(http_is_first) {
|
if(http_is_first || test_protocol == HTTPS_TEST) {
|
||||||
CHECK_CALLED(OnProgress_FINDINGRESOURCE);
|
CHECK_CALLED(OnProgress_FINDINGRESOURCE);
|
||||||
CHECK_CALLED(OnProgress_CONNECTING);
|
CHECK_CALLED(OnProgress_CONNECTING);
|
||||||
}else todo_wine {
|
}else todo_wine {
|
||||||
|
@ -2140,15 +2154,15 @@ static void test_BindToStorage(int protocol, BOOL emul, DWORD t)
|
||||||
CLEAR_CALLED(OnProgress_CONNECTING);
|
CLEAR_CALLED(OnProgress_CONNECTING);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(test_protocol == HTTP_TEST || test_protocol == FILE_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST || test_protocol == FILE_TEST)
|
||||||
CHECK_CALLED(OnProgress_SENDINGREQUEST);
|
CHECK_CALLED(OnProgress_SENDINGREQUEST);
|
||||||
if(test_protocol == HTTP_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
CHECK_CALLED(OnResponse);
|
CHECK_CALLED(OnResponse);
|
||||||
CHECK_CALLED(OnProgress_MIMETYPEAVAILABLE);
|
CHECK_CALLED(OnProgress_MIMETYPEAVAILABLE);
|
||||||
CHECK_CALLED(OnProgress_BEGINDOWNLOADDATA);
|
CHECK_CALLED(OnProgress_BEGINDOWNLOADDATA);
|
||||||
if(test_protocol == FILE_TEST)
|
if(test_protocol == FILE_TEST)
|
||||||
CHECK_CALLED(OnProgress_CACHEFILENAMEAVAILABLE);
|
CHECK_CALLED(OnProgress_CACHEFILENAMEAVAILABLE);
|
||||||
if(test_protocol == HTTP_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
CLEAR_CALLED(OnProgress_DOWNLOADINGDATA);
|
CLEAR_CALLED(OnProgress_DOWNLOADINGDATA);
|
||||||
CHECK_CALLED(OnProgress_ENDDOWNLOADDATA);
|
CHECK_CALLED(OnProgress_ENDDOWNLOADDATA);
|
||||||
if(tymed != TYMED_FILE || test_protocol != ABOUT_TEST)
|
if(tymed != TYMED_FILE || test_protocol != ABOUT_TEST)
|
||||||
|
@ -2159,7 +2173,7 @@ static void test_BindToStorage(int protocol, BOOL emul, DWORD t)
|
||||||
ok(IMoniker_Release(mon) == 0, "mon should be destroyed here\n");
|
ok(IMoniker_Release(mon) == 0, "mon should be destroyed here\n");
|
||||||
ok(IBindCtx_Release(bctx) == 0, "bctx should be destroyed here\n");
|
ok(IBindCtx_Release(bctx) == 0, "bctx should be destroyed here\n");
|
||||||
|
|
||||||
if(test_protocol == HTTP_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
http_is_first = FALSE;
|
http_is_first = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2210,13 +2224,13 @@ static void test_BindToObject(int protocol, BOOL emul)
|
||||||
SET_EXPECT(Obj_OnStartBinding);
|
SET_EXPECT(Obj_OnStartBinding);
|
||||||
if(emulate_protocol) {
|
if(emulate_protocol) {
|
||||||
SET_EXPECT(Start);
|
SET_EXPECT(Start);
|
||||||
if(test_protocol == HTTP_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
SET_EXPECT(Terminate);
|
SET_EXPECT(Terminate);
|
||||||
if(test_protocol == FILE_TEST)
|
if(test_protocol == FILE_TEST)
|
||||||
SET_EXPECT(OnProgress_MIMETYPEAVAILABLE);
|
SET_EXPECT(OnProgress_MIMETYPEAVAILABLE);
|
||||||
SET_EXPECT(UnlockRequest);
|
SET_EXPECT(UnlockRequest);
|
||||||
}else {
|
}else {
|
||||||
if(test_protocol == HTTP_TEST) {
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST) {
|
||||||
SET_EXPECT(QueryInterface_IHttpNegotiate);
|
SET_EXPECT(QueryInterface_IHttpNegotiate);
|
||||||
SET_EXPECT(BeginningTransaction);
|
SET_EXPECT(BeginningTransaction);
|
||||||
SET_EXPECT(QueryInterface_IHttpNegotiate2);
|
SET_EXPECT(QueryInterface_IHttpNegotiate2);
|
||||||
|
@ -2224,15 +2238,15 @@ static void test_BindToObject(int protocol, BOOL emul)
|
||||||
SET_EXPECT(Obj_OnProgress_FINDINGRESOURCE);
|
SET_EXPECT(Obj_OnProgress_FINDINGRESOURCE);
|
||||||
SET_EXPECT(Obj_OnProgress_CONNECTING);
|
SET_EXPECT(Obj_OnProgress_CONNECTING);
|
||||||
}
|
}
|
||||||
if(test_protocol == HTTP_TEST || test_protocol == FILE_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST || test_protocol == FILE_TEST)
|
||||||
SET_EXPECT(Obj_OnProgress_SENDINGREQUEST);
|
SET_EXPECT(Obj_OnProgress_SENDINGREQUEST);
|
||||||
if(test_protocol == HTTP_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
SET_EXPECT(OnResponse);
|
SET_EXPECT(OnResponse);
|
||||||
SET_EXPECT(Obj_OnProgress_MIMETYPEAVAILABLE);
|
SET_EXPECT(Obj_OnProgress_MIMETYPEAVAILABLE);
|
||||||
SET_EXPECT(Obj_OnProgress_BEGINDOWNLOADDATA);
|
SET_EXPECT(Obj_OnProgress_BEGINDOWNLOADDATA);
|
||||||
if(test_protocol == FILE_TEST)
|
if(test_protocol == FILE_TEST)
|
||||||
SET_EXPECT(Obj_OnProgress_CACHEFILENAMEAVAILABLE);
|
SET_EXPECT(Obj_OnProgress_CACHEFILENAMEAVAILABLE);
|
||||||
if(test_protocol == HTTP_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
SET_EXPECT(OnProgress_DOWNLOADINGDATA);
|
SET_EXPECT(OnProgress_DOWNLOADINGDATA);
|
||||||
SET_EXPECT(Obj_OnProgress_ENDDOWNLOADDATA);
|
SET_EXPECT(Obj_OnProgress_ENDDOWNLOADDATA);
|
||||||
SET_EXPECT(Obj_OnProgress_CLASSIDAVAILABLE);
|
SET_EXPECT(Obj_OnProgress_CLASSIDAVAILABLE);
|
||||||
|
@ -2244,7 +2258,8 @@ static void test_BindToObject(int protocol, BOOL emul)
|
||||||
|
|
||||||
hres = IMoniker_BindToObject(mon, bctx, NULL, &IID_IUnknown, (void**)&unk);
|
hres = IMoniker_BindToObject(mon, bctx, NULL, &IID_IUnknown, (void**)&unk);
|
||||||
|
|
||||||
if (test_protocol == HTTP_TEST && hres == HRESULT_FROM_WIN32(ERROR_INTERNET_NAME_NOT_RESOLVED))
|
if ((test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
|
&& hres == HRESULT_FROM_WIN32(ERROR_INTERNET_NAME_NOT_RESOLVED))
|
||||||
{
|
{
|
||||||
skip( "Network unreachable, skipping tests\n" );
|
skip( "Network unreachable, skipping tests\n" );
|
||||||
return;
|
return;
|
||||||
|
@ -2278,13 +2293,13 @@ static void test_BindToObject(int protocol, BOOL emul)
|
||||||
CHECK_CALLED(Obj_OnStartBinding);
|
CHECK_CALLED(Obj_OnStartBinding);
|
||||||
if(emulate_protocol) {
|
if(emulate_protocol) {
|
||||||
CHECK_CALLED(Start);
|
CHECK_CALLED(Start);
|
||||||
if(test_protocol == HTTP_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
CHECK_CALLED(Terminate);
|
CHECK_CALLED(Terminate);
|
||||||
if(test_protocol == FILE_TEST)
|
if(test_protocol == FILE_TEST)
|
||||||
CLEAR_CALLED(OnProgress_MIMETYPEAVAILABLE); /* not called in IE7 */
|
CLEAR_CALLED(OnProgress_MIMETYPEAVAILABLE); /* not called in IE7 */
|
||||||
CHECK_CALLED(UnlockRequest);
|
CHECK_CALLED(UnlockRequest);
|
||||||
}else {
|
}else {
|
||||||
if(test_protocol == HTTP_TEST) {
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST) {
|
||||||
CHECK_CALLED(QueryInterface_IHttpNegotiate);
|
CHECK_CALLED(QueryInterface_IHttpNegotiate);
|
||||||
CHECK_CALLED(BeginningTransaction);
|
CHECK_CALLED(BeginningTransaction);
|
||||||
if (have_IHttpNegotiate2)
|
if (have_IHttpNegotiate2)
|
||||||
|
@ -2301,19 +2316,19 @@ static void test_BindToObject(int protocol, BOOL emul)
|
||||||
CLEAR_CALLED(Obj_OnProgress_CONNECTING);
|
CLEAR_CALLED(Obj_OnProgress_CONNECTING);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(test_protocol == HTTP_TEST || test_protocol == FILE_TEST) {
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST || test_protocol == FILE_TEST) {
|
||||||
if(urls[test_protocol] == SHORT_RESPONSE_URL)
|
if(urls[test_protocol] == SHORT_RESPONSE_URL)
|
||||||
CLEAR_CALLED(Obj_OnProgress_SENDINGREQUEST);
|
CLEAR_CALLED(Obj_OnProgress_SENDINGREQUEST);
|
||||||
else
|
else
|
||||||
CHECK_CALLED(Obj_OnProgress_SENDINGREQUEST);
|
CHECK_CALLED(Obj_OnProgress_SENDINGREQUEST);
|
||||||
}
|
}
|
||||||
if(test_protocol == HTTP_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
CHECK_CALLED(OnResponse);
|
CHECK_CALLED(OnResponse);
|
||||||
CHECK_CALLED(Obj_OnProgress_MIMETYPEAVAILABLE);
|
CHECK_CALLED(Obj_OnProgress_MIMETYPEAVAILABLE);
|
||||||
CHECK_CALLED(Obj_OnProgress_BEGINDOWNLOADDATA);
|
CHECK_CALLED(Obj_OnProgress_BEGINDOWNLOADDATA);
|
||||||
if(test_protocol == FILE_TEST)
|
if(test_protocol == FILE_TEST)
|
||||||
CHECK_CALLED(Obj_OnProgress_CACHEFILENAMEAVAILABLE);
|
CHECK_CALLED(Obj_OnProgress_CACHEFILENAMEAVAILABLE);
|
||||||
if(test_protocol == HTTP_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
CLEAR_CALLED(OnProgress_DOWNLOADINGDATA);
|
CLEAR_CALLED(OnProgress_DOWNLOADINGDATA);
|
||||||
CLEAR_CALLED(Obj_OnProgress_ENDDOWNLOADDATA);
|
CLEAR_CALLED(Obj_OnProgress_ENDDOWNLOADDATA);
|
||||||
CHECK_CALLED(Obj_OnProgress_CLASSIDAVAILABLE);
|
CHECK_CALLED(Obj_OnProgress_CLASSIDAVAILABLE);
|
||||||
|
@ -2323,7 +2338,7 @@ static void test_BindToObject(int protocol, BOOL emul)
|
||||||
CHECK_CALLED(Obj_OnStopBinding);
|
CHECK_CALLED(Obj_OnStopBinding);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(test_protocol != HTTP_TEST || emul || urls[test_protocol] == SHORT_RESPONSE_URL) {
|
if(test_protocol != HTTP_TEST || test_protocol == HTTPS_TEST || emul || urls[test_protocol] == SHORT_RESPONSE_URL) {
|
||||||
ok(IMoniker_Release(mon) == 0, "mon should be destroyed here\n");
|
ok(IMoniker_Release(mon) == 0, "mon should be destroyed here\n");
|
||||||
ok(IBindCtx_Release(bctx) == 0, "bctx should be destroyed here\n");
|
ok(IBindCtx_Release(bctx) == 0, "bctx should be destroyed here\n");
|
||||||
}else {
|
}else {
|
||||||
|
@ -2338,7 +2353,7 @@ static void test_BindToObject(int protocol, BOOL emul)
|
||||||
if(emul)
|
if(emul)
|
||||||
CoRevokeClassObject(regid);
|
CoRevokeClassObject(regid);
|
||||||
|
|
||||||
if(test_protocol == HTTP_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
http_is_first = FALSE;
|
http_is_first = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2360,21 +2375,21 @@ static void test_URLDownloadToFile(DWORD prot, BOOL emul)
|
||||||
SET_EXPECT(Start);
|
SET_EXPECT(Start);
|
||||||
SET_EXPECT(UnlockRequest);
|
SET_EXPECT(UnlockRequest);
|
||||||
}else {
|
}else {
|
||||||
if(test_protocol == HTTP_TEST) {
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST) {
|
||||||
SET_EXPECT(QueryInterface_IHttpNegotiate);
|
SET_EXPECT(QueryInterface_IHttpNegotiate);
|
||||||
SET_EXPECT(BeginningTransaction);
|
SET_EXPECT(BeginningTransaction);
|
||||||
SET_EXPECT(QueryInterface_IHttpNegotiate2);
|
SET_EXPECT(QueryInterface_IHttpNegotiate2);
|
||||||
SET_EXPECT(GetRootSecurityId);
|
SET_EXPECT(GetRootSecurityId);
|
||||||
}
|
}
|
||||||
if(test_protocol == HTTP_TEST || test_protocol == FILE_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST || test_protocol == FILE_TEST)
|
||||||
SET_EXPECT(OnProgress_SENDINGREQUEST);
|
SET_EXPECT(OnProgress_SENDINGREQUEST);
|
||||||
if(test_protocol == HTTP_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
SET_EXPECT(OnResponse);
|
SET_EXPECT(OnResponse);
|
||||||
SET_EXPECT(OnProgress_MIMETYPEAVAILABLE);
|
SET_EXPECT(OnProgress_MIMETYPEAVAILABLE);
|
||||||
SET_EXPECT(OnProgress_BEGINDOWNLOADDATA);
|
SET_EXPECT(OnProgress_BEGINDOWNLOADDATA);
|
||||||
if(test_protocol == FILE_TEST)
|
if(test_protocol == FILE_TEST)
|
||||||
SET_EXPECT(OnProgress_CACHEFILENAMEAVAILABLE);
|
SET_EXPECT(OnProgress_CACHEFILENAMEAVAILABLE);
|
||||||
if(test_protocol == HTTP_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
SET_EXPECT(OnProgress_DOWNLOADINGDATA);
|
SET_EXPECT(OnProgress_DOWNLOADINGDATA);
|
||||||
SET_EXPECT(OnProgress_ENDDOWNLOADDATA);
|
SET_EXPECT(OnProgress_ENDDOWNLOADDATA);
|
||||||
SET_EXPECT(OnStopBinding);
|
SET_EXPECT(OnStopBinding);
|
||||||
|
@ -2394,7 +2409,7 @@ static void test_URLDownloadToFile(DWORD prot, BOOL emul)
|
||||||
CHECK_CALLED(Start);
|
CHECK_CALLED(Start);
|
||||||
CHECK_CALLED(UnlockRequest);
|
CHECK_CALLED(UnlockRequest);
|
||||||
}else {
|
}else {
|
||||||
if(test_protocol == HTTP_TEST) {
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST) {
|
||||||
CHECK_CALLED(QueryInterface_IHttpNegotiate);
|
CHECK_CALLED(QueryInterface_IHttpNegotiate);
|
||||||
CHECK_CALLED(BeginningTransaction);
|
CHECK_CALLED(BeginningTransaction);
|
||||||
if (have_IHttpNegotiate2)
|
if (have_IHttpNegotiate2)
|
||||||
|
@ -2405,15 +2420,15 @@ static void test_URLDownloadToFile(DWORD prot, BOOL emul)
|
||||||
}
|
}
|
||||||
if(test_protocol == FILE_TEST)
|
if(test_protocol == FILE_TEST)
|
||||||
CHECK_CALLED(OnProgress_SENDINGREQUEST);
|
CHECK_CALLED(OnProgress_SENDINGREQUEST);
|
||||||
else if(test_protocol == HTTP_TEST)
|
else if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
CLEAR_CALLED(OnProgress_SENDINGREQUEST); /* not called by IE7 */
|
CLEAR_CALLED(OnProgress_SENDINGREQUEST); /* not called by IE7 */
|
||||||
if(test_protocol == HTTP_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
CHECK_CALLED(OnResponse);
|
CHECK_CALLED(OnResponse);
|
||||||
CHECK_CALLED(OnProgress_MIMETYPEAVAILABLE);
|
CHECK_CALLED(OnProgress_MIMETYPEAVAILABLE);
|
||||||
CHECK_CALLED(OnProgress_BEGINDOWNLOADDATA);
|
CHECK_CALLED(OnProgress_BEGINDOWNLOADDATA);
|
||||||
if(test_protocol == FILE_TEST)
|
if(test_protocol == FILE_TEST)
|
||||||
CHECK_CALLED(OnProgress_CACHEFILENAMEAVAILABLE);
|
CHECK_CALLED(OnProgress_CACHEFILENAMEAVAILABLE);
|
||||||
if(test_protocol == HTTP_TEST)
|
if(test_protocol == HTTP_TEST || test_protocol == HTTPS_TEST)
|
||||||
CLEAR_CALLED(OnProgress_DOWNLOADINGDATA);
|
CLEAR_CALLED(OnProgress_DOWNLOADINGDATA);
|
||||||
CHECK_CALLED(OnProgress_ENDDOWNLOADDATA);
|
CHECK_CALLED(OnProgress_ENDDOWNLOADDATA);
|
||||||
CHECK_CALLED(OnStopBinding);
|
CHECK_CALLED(OnStopBinding);
|
||||||
|
@ -2580,7 +2595,7 @@ START_TEST(url)
|
||||||
test_CreateAsyncBindCtx();
|
test_CreateAsyncBindCtx();
|
||||||
test_CreateAsyncBindCtxEx();
|
test_CreateAsyncBindCtxEx();
|
||||||
|
|
||||||
if(!test_RegisterBindStatusCallback()) {
|
if(test_RegisterBindStatusCallback()) {
|
||||||
test_BindToStorage_fail();
|
test_BindToStorage_fail();
|
||||||
|
|
||||||
trace("synchronous http test (COM not initialised)...\n");
|
trace("synchronous http test (COM not initialised)...\n");
|
||||||
|
@ -2628,6 +2643,12 @@ START_TEST(url)
|
||||||
trace("emulated http test (to file)...\n");
|
trace("emulated http test (to file)...\n");
|
||||||
test_BindToStorage(HTTP_TEST, TRUE, TYMED_FILE);
|
test_BindToStorage(HTTP_TEST, TRUE, TYMED_FILE);
|
||||||
|
|
||||||
|
trace("asynchronous https test...\n");
|
||||||
|
test_BindToStorage(HTTPS_TEST, FALSE, TYMED_ISTREAM);
|
||||||
|
|
||||||
|
trace("emulated https test...\n");
|
||||||
|
test_BindToStorage(HTTPS_TEST, TRUE, TYMED_ISTREAM);
|
||||||
|
|
||||||
trace("about test...\n");
|
trace("about test...\n");
|
||||||
test_BindToStorage(ABOUT_TEST, FALSE, TYMED_ISTREAM);
|
test_BindToStorage(ABOUT_TEST, FALSE, TYMED_ISTREAM);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue