urlmon: Skip more tests on old IE and ignore BINDSTATUS_PROXYDETECTING notification.

This commit is contained in:
Jacek Caban 2009-01-07 00:42:03 +01:00 committed by Alexandre Julliard
parent 3fd7a474d8
commit 4ac8322db4
1 changed files with 84 additions and 73 deletions

View File

@ -1248,6 +1248,9 @@ static HRESULT WINAPI statusclb_OnProgress(IBindStatusCallback *iface, ULONG ulP
ok(0, "unexpected call\n"); ok(0, "unexpected call\n");
ok(szStatusText == NULL, "Expected szStatusText to be NULL\n"); ok(szStatusText == NULL, "Expected szStatusText to be NULL\n");
break; break;
case BINDSTATUS_PROXYDETECTING:
trace("BINDSTATUS_PROXYDETECTING\n");
break;
default: default:
ok(0, "unexpected code %d\n", ulStatusCode); ok(0, "unexpected code %d\n", ulStatusCode);
}; };
@ -1768,7 +1771,7 @@ static void test_CreateAsyncBindCtxEx(void)
IBindCtx_Release(bctx2); IBindCtx_Release(bctx2);
} }
static void test_bscholder(IBindStatusCallback *holder) static BOOL test_bscholder(IBindStatusCallback *holder)
{ {
IServiceProvider *serv_prov; IServiceProvider *serv_prov;
IHttpNegotiate *http_negotiate, *http_negotiate_serv; IHttpNegotiate *http_negotiate, *http_negotiate_serv;
@ -1776,6 +1779,7 @@ static void test_bscholder(IBindStatusCallback *holder)
IAuthenticate *authenticate, *authenticate_serv; IAuthenticate *authenticate, *authenticate_serv;
IInternetProtocol *protocol; IInternetProtocol *protocol;
BINDINFO bindinfo = {sizeof(bindinfo)}; BINDINFO bindinfo = {sizeof(bindinfo)};
BOOL ret = TRUE;
LPWSTR wstr; LPWSTR wstr;
DWORD dw; DWORD dw;
HRESULT hres; HRESULT hres;
@ -1847,6 +1851,7 @@ static void test_bscholder(IBindStatusCallback *holder)
IHttpNegotiate_Release(http_negotiate2); IHttpNegotiate_Release(http_negotiate2);
}else { }else {
skip("Could not get IHttpNegotiate2\n"); skip("Could not get IHttpNegotiate2\n");
ret = FALSE;
} }
SET_EXPECT(OnProgress_FINDINGRESOURCE); SET_EXPECT(OnProgress_FINDINGRESOURCE);
@ -1897,12 +1902,14 @@ static void test_bscholder(IBindStatusCallback *holder)
CHECK_CALLED(QueryService_IInternetProtocol); CHECK_CALLED(QueryService_IInternetProtocol);
IServiceProvider_Release(serv_prov); IServiceProvider_Release(serv_prov);
return ret;
} }
static void test_RegisterBindStatusCallback(void) static BOOL test_RegisterBindStatusCallback(void)
{ {
IBindStatusCallback *prevbsc, *clb; IBindStatusCallback *prevbsc, *clb;
IBindCtx *bindctx; IBindCtx *bindctx;
BOOL ret = TRUE;
IUnknown *unk; IUnknown *unk;
HRESULT hres; HRESULT hres;
@ -1933,7 +1940,8 @@ static void test_RegisterBindStatusCallback(void)
ok(hres == S_OK, "QueryInterface(IID_IBindStatusCallback) failed: %08x\n", hres); ok(hres == S_OK, "QueryInterface(IID_IBindStatusCallback) failed: %08x\n", hres);
ok(clb != &bsc, "bsc == clb\n"); ok(clb != &bsc, "bsc == clb\n");
test_bscholder(clb); if(!test_bscholder(clb))
ret = FALSE;
IBindStatusCallback_Release(clb); IBindStatusCallback_Release(clb);
@ -1958,6 +1966,7 @@ static void test_RegisterBindStatusCallback(void)
ok(hres == E_INVALIDARG, "RevokeBindStatusCallback failed: %08x\n", hres); ok(hres == E_INVALIDARG, "RevokeBindStatusCallback failed: %08x\n", hres);
IBindCtx_Release(bindctx); IBindCtx_Release(bindctx);
return ret;
} }
#define BINDTEST_EMULATE 1 #define BINDTEST_EMULATE 1
@ -2570,110 +2579,112 @@ START_TEST(url)
test_create(); test_create();
test_CreateAsyncBindCtx(); test_CreateAsyncBindCtx();
test_CreateAsyncBindCtxEx(); test_CreateAsyncBindCtxEx();
test_RegisterBindStatusCallback();
test_BindToStorage_fail();
trace("synchronous http test (COM not initialised)...\n"); if(!test_RegisterBindStatusCallback()) {
test_BindToStorage(HTTP_TEST, FALSE, TYMED_ISTREAM); test_BindToStorage_fail();
CoInitialize(NULL); trace("synchronous http test (COM not initialised)...\n");
test_BindToStorage(HTTP_TEST, FALSE, TYMED_ISTREAM);
trace("synchronous http test...\n"); CoInitialize(NULL);
test_BindToStorage(HTTP_TEST, FALSE, TYMED_ISTREAM);
trace("synchronous http test (to object)...\n"); trace("synchronous http test...\n");
test_BindToObject(HTTP_TEST, FALSE); test_BindToStorage(HTTP_TEST, FALSE, TYMED_ISTREAM);
trace("synchronous file test...\n"); trace("synchronous http test (to object)...\n");
test_BindToStorage(FILE_TEST, FALSE, TYMED_ISTREAM); test_BindToObject(HTTP_TEST, FALSE);
trace("synchronous file test (to object)...\n"); trace("synchronous file test...\n");
test_BindToObject(FILE_TEST, FALSE); test_BindToStorage(FILE_TEST, FALSE, TYMED_ISTREAM);
bindf = BINDF_ASYNCHRONOUS | BINDF_ASYNCSTORAGE | BINDF_PULLDATA; trace("synchronous file test (to object)...\n");
test_BindToObject(FILE_TEST, FALSE);
trace("http test...\n"); bindf = BINDF_ASYNCHRONOUS | BINDF_ASYNCSTORAGE | BINDF_PULLDATA;
test_BindToStorage(HTTP_TEST, FALSE, TYMED_ISTREAM);
trace("http test (to file)...\n"); trace("http test...\n");
test_BindToStorage(HTTP_TEST, FALSE, TYMED_FILE); test_BindToStorage(HTTP_TEST, FALSE, TYMED_ISTREAM);
trace("http test (to object)...\n"); trace("http test (to file)...\n");
test_BindToObject(HTTP_TEST, FALSE); test_BindToStorage(HTTP_TEST, FALSE, TYMED_FILE);
trace("http test (short response)...\n"); trace("http test (to object)...\n");
http_is_first = TRUE; test_BindToObject(HTTP_TEST, FALSE);
urls[HTTP_TEST] = SHORT_RESPONSE_URL;
test_BindToStorage(HTTP_TEST, FALSE, TYMED_ISTREAM);
trace("http test (short response, to object)...\n"); trace("http test (short response)...\n");
test_BindToObject(HTTP_TEST, FALSE); http_is_first = TRUE;
urls[HTTP_TEST] = SHORT_RESPONSE_URL;
test_BindToStorage(HTTP_TEST, FALSE, TYMED_ISTREAM);
trace("emulated http test...\n"); trace("http test (short response, to object)...\n");
test_BindToStorage(HTTP_TEST, TRUE, TYMED_ISTREAM); test_BindToObject(HTTP_TEST, FALSE);
trace("emulated http test (to object)...\n"); trace("emulated http test...\n");
test_BindToObject(HTTP_TEST, TRUE); test_BindToStorage(HTTP_TEST, TRUE, TYMED_ISTREAM);
trace("emulated http test (to file)...\n"); trace("emulated http test (to object)...\n");
test_BindToStorage(HTTP_TEST, TRUE, TYMED_FILE); test_BindToObject(HTTP_TEST, TRUE);
trace("about test...\n"); trace("emulated http test (to file)...\n");
test_BindToStorage(ABOUT_TEST, FALSE, TYMED_ISTREAM); test_BindToStorage(HTTP_TEST, TRUE, TYMED_FILE);
trace("about test (to file)...\n"); trace("about test...\n");
test_BindToStorage(ABOUT_TEST, FALSE, TYMED_FILE); test_BindToStorage(ABOUT_TEST, FALSE, TYMED_ISTREAM);
trace("about test (to object)...\n"); trace("about test (to file)...\n");
test_BindToObject(ABOUT_TEST, FALSE); test_BindToStorage(ABOUT_TEST, FALSE, TYMED_FILE);
trace("emulated about test...\n"); trace("about test (to object)...\n");
test_BindToStorage(ABOUT_TEST, TRUE, TYMED_ISTREAM); test_BindToObject(ABOUT_TEST, FALSE);
trace("emulated about test (to file)...\n"); trace("emulated about test...\n");
test_BindToStorage(ABOUT_TEST, TRUE, TYMED_FILE); test_BindToStorage(ABOUT_TEST, TRUE, TYMED_ISTREAM);
trace("emulated about test (to object)...\n"); trace("emulated about test (to file)...\n");
test_BindToObject(ABOUT_TEST, TRUE); test_BindToStorage(ABOUT_TEST, TRUE, TYMED_FILE);
trace("file test...\n"); trace("emulated about test (to object)...\n");
test_BindToStorage(FILE_TEST, FALSE, TYMED_ISTREAM); test_BindToObject(ABOUT_TEST, TRUE);
trace("file test (to file)...\n"); trace("file test...\n");
test_BindToStorage(FILE_TEST, FALSE, TYMED_FILE); test_BindToStorage(FILE_TEST, FALSE, TYMED_ISTREAM);
trace("file test (to object)...\n"); trace("file test (to file)...\n");
test_BindToObject(FILE_TEST, FALSE); test_BindToStorage(FILE_TEST, FALSE, TYMED_FILE);
trace("emulated file test...\n"); trace("file test (to object)...\n");
test_BindToStorage(FILE_TEST, TRUE, TYMED_ISTREAM); test_BindToObject(FILE_TEST, FALSE);
trace("emulated file test (to file)...\n"); trace("emulated file test...\n");
test_BindToStorage(FILE_TEST, TRUE, TYMED_FILE); test_BindToStorage(FILE_TEST, TRUE, TYMED_ISTREAM);
trace("emulated file test (to object)...\n"); trace("emulated file test (to file)...\n");
test_BindToObject(FILE_TEST, TRUE); test_BindToStorage(FILE_TEST, TRUE, TYMED_FILE);
trace("emulated its test...\n"); trace("emulated file test (to object)...\n");
test_BindToStorage(ITS_TEST, TRUE, TYMED_ISTREAM); test_BindToObject(FILE_TEST, TRUE);
trace("emulated its test (to file)...\n"); trace("emulated its test...\n");
test_BindToStorage(ITS_TEST, TRUE, TYMED_FILE); test_BindToStorage(ITS_TEST, TRUE, TYMED_ISTREAM);
trace("emulated mk test...\n"); trace("emulated its test (to file)...\n");
test_BindToStorage(MK_TEST, TRUE, TYMED_ISTREAM); test_BindToStorage(ITS_TEST, TRUE, TYMED_FILE);
trace("test URLDownloadToFile for file protocol...\n"); trace("emulated mk test...\n");
test_URLDownloadToFile(FILE_TEST, FALSE); test_BindToStorage(MK_TEST, TRUE, TYMED_ISTREAM);
trace("test URLDownloadToFile for emulated file protocol...\n"); trace("test URLDownloadToFile for file protocol...\n");
test_URLDownloadToFile(FILE_TEST, TRUE); test_URLDownloadToFile(FILE_TEST, FALSE);
trace("test URLDownloadToFile for http protocol...\n"); trace("test URLDownloadToFile for emulated file protocol...\n");
test_URLDownloadToFile(HTTP_TEST, FALSE); test_URLDownloadToFile(FILE_TEST, TRUE);
trace("test failures...\n"); trace("test URLDownloadToFile for http protocol...\n");
test_BindToStorage_fail(); test_URLDownloadToFile(HTTP_TEST, FALSE);
trace("test failures...\n");
test_BindToStorage_fail();
}
DeleteFileA(wszIndexHtmlA); DeleteFileA(wszIndexHtmlA);
CloseHandle(complete_event); CloseHandle(complete_event);