Jacek Caban : urlmon: Added test of handlong its protocol.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Feb 12 09:24:09 CST 2007
Module: wine
Branch: master
Commit: c5280fcc0072d19c370b528acde247f94ee4ffbd
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c5280fcc0072d19c370b528acde247f94ee4ffbd
Author: Jacek Caban <jacek at codeweavers.com>
Date: Sat Feb 10 16:33:38 2007 +0100
urlmon: Added test of handlong its protocol.
---
dlls/urlmon/tests/url.c | 34 ++++++++++++++++++++++++++--------
1 files changed, 26 insertions(+), 8 deletions(-)
diff --git a/dlls/urlmon/tests/url.c b/dlls/urlmon/tests/url.c
index b1cb8f3..bac1a7a 100644
--- a/dlls/urlmon/tests/url.c
+++ b/dlls/urlmon/tests/url.c
@@ -80,6 +80,9 @@ static const WCHAR WINE_ABOUT_URL[] = {'
'o','r','g','/','s','i','t','e','/','a','b','o','u','t',0};
static const WCHAR ABOUT_BLANK[] = {'a','b','o','u','t',':','b','l','a','n','k',0};
static WCHAR INDEX_HTML[MAX_PATH];
+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};
+
static const WCHAR wszIndexHtml[] = {'i','n','d','e','x','.','h','t','m','l',0};
@@ -89,13 +92,15 @@ static DWORD read = 0;
static const LPCWSTR urls[] = {
WINE_ABOUT_URL,
ABOUT_BLANK,
- INDEX_HTML
+ INDEX_HTML,
+ ITS_URL
};
static enum {
HTTP_TEST,
ABOUT_TEST,
- FILE_TEST
+ FILE_TEST,
+ ITS_TEST
} test_protocol;
static void test_CreateURLMoniker(LPCWSTR url1, LPCWSTR url2)
@@ -178,14 +183,16 @@ static HRESULT WINAPI Protocol_Start(IIn
ok(!memcmp(&bindinfo, &bi, sizeof(bindinfo)), "wrong bindinfo\n");
- if(test_protocol == FILE_TEST) {
+ if(test_protocol == FILE_TEST || test_protocol == ITS_TEST) {
SET_EXPECT(OnProgress_SENDINGREQUEST);
hres = IInternetProtocolSink_ReportProgress(pOIProtSink,
BINDSTATUS_SENDINGREQUEST, &null_char);
ok(hres == S_OK,
"ReportProgress(BINDSTATUS_SENDINGREQUEST) failed: %08x\n", hres);
CHECK_CALLED(OnProgress_SENDINGREQUEST);
+ }
+ if(test_protocol == FILE_TEST) {
hres = IInternetProtocolSink_ReportProgress(pOIProtSink,
BINDSTATUS_CACHEFILENAMEAVAILABLE, &null_char);
ok(hres == S_OK,
@@ -195,7 +202,7 @@ static HRESULT WINAPI Protocol_Start(IIn
hres = IInternetProtocolSink_ReportProgress(pOIProtSink,
BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE, wszTextHtml);
ok(hres == S_OK,
- "ReportProgress(BINDSTATUS_MIMETYPEAVAILABLE) failed: %08x\n", hres);
+ "ReportProgress(BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE) failed: %08x\n", hres);
CHECK_CALLED(OnProgress_MIMETYPEAVAILABLE);
}else {
hres = IInternetProtocolSink_ReportProgress(pOIProtSink,
@@ -206,6 +213,8 @@ static HRESULT WINAPI Protocol_Start(IIn
if(test_protocol == ABOUT_TEST)
bscf |= BSCF_DATAFULLYAVAILABLE;
+ if(test_protocol == ITS_TEST)
+ bscf = BSCF_FIRSTDATANOTIFICATION|BSCF_DATAFULLYAVAILABLE;
SET_EXPECT(Read);
if(test_protocol != FILE_TEST)
@@ -228,6 +237,13 @@ static HRESULT WINAPI Protocol_Start(IIn
CHECK_CALLED(OnDataAvailable);
CHECK_CALLED(OnStopBinding);
+ if(test_protocol == ITS_TEST) {
+ SET_EXPECT(Read);
+ hres = IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_BEGINDOWNLOADDATA, NULL);
+ ok(hres == S_OK, "ReportProgress(BINDSTATUS_BEGINDOWNLOADDATA) failed: %08x\n", hres);
+ CHECK_CALLED(Read);
+ }
+
SET_EXPECT(Terminate);
hres = IInternetProtocolSink_ReportResult(pOIProtSink, S_OK, 0, NULL);
ok(hres == S_OK, "ReportResult failed: %08x\n", hres);
@@ -286,8 +302,7 @@ static HRESULT WINAPI Protocol_Read(IInt
ok(pcbRead != NULL, "pcbRead == NULL\n");
if(pcbRead) {
ok(*pcbRead == 0, "*pcbRead=%d, expected 0\n", *pcbRead);
- *pcbRead = 13;
- read = 13;
+ read += *pcbRead = sizeof(data)-1;
}
if(pv)
memcpy(pv, data, sizeof(data));
@@ -662,10 +677,10 @@ static void test_BindToStorage(int proto
SET_EXPECT(OnProgress_SENDINGREQUEST);
SET_EXPECT(OnProgress_MIMETYPEAVAILABLE);
SET_EXPECT(OnProgress_BEGINDOWNLOADDATA);
- SET_EXPECT(OnDataAvailable);
if(test_protocol == HTTP_TEST)
SET_EXPECT(OnProgress_DOWNLOADINGDATA);
SET_EXPECT(OnProgress_ENDDOWNLOADDATA);
+ SET_EXPECT(OnDataAvailable);
SET_EXPECT(OnStopBinding);
}
@@ -708,10 +723,10 @@ static void test_BindToStorage(int proto
CHECK_CALLED(OnProgress_MIMETYPEAVAILABLE);
}
CHECK_CALLED(OnProgress_BEGINDOWNLOADDATA);
- CHECK_CALLED(OnDataAvailable);
if(test_protocol == HTTP_TEST)
CHECK_CALLED(OnProgress_DOWNLOADINGDATA);
CHECK_CALLED(OnProgress_ENDDOWNLOADDATA);
+ CHECK_CALLED(OnDataAvailable);
CHECK_CALLED(OnStopBinding);
}
@@ -801,5 +816,8 @@ START_TEST(url)
set_file_url();
test_BindToStorage(FILE_TEST, TRUE);
+ trace("emulated its test...\n");
+ test_BindToStorage(ITS_TEST, TRUE);
+
test_BindToStorage_fail();
}
More information about the wine-cvs
mailing list