Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
08786270
Commit
08786270
authored
Jul 18, 2007
by
Misha Koshelev
Committed by
Alexandre Julliard
Jul 19, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
urlmon/tests: Fix http_protocol tests to succeed when called more than once.
parent
e2726eff
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
33 additions
and
4 deletions
+33
-4
protocol.c
dlls/urlmon/tests/protocol.c
+33
-4
No files found.
dlls/urlmon/tests/protocol.c
View file @
08786270
...
@@ -54,6 +54,12 @@
...
@@ -54,6 +54,12 @@
expect_ ## func = called_ ## func = FALSE; \
expect_ ## func = called_ ## func = FALSE; \
}while(0)
}while(0)
#define CHECK_NOT_CALLED(func) \
do { \
ok(!called_ ## func, "unexpected " #func "\n"); \
expect_ ## func = called_ ## func = FALSE; \
}while(0)
#define CLEAR_CALLED(func) \
#define CLEAR_CALLED(func) \
expect_ ## func = called_ ## func = FALSE
expect_ ## func = called_ ## func = FALSE
...
@@ -89,7 +95,7 @@ static const WCHAR index_url[] =
...
@@ -89,7 +95,7 @@ static const WCHAR index_url[] =
static
HRESULT
expect_hrResult
;
static
HRESULT
expect_hrResult
;
static
LPCWSTR
file_name
,
http_url
,
expect_wsz
;
static
LPCWSTR
file_name
,
http_url
,
expect_wsz
;
static
IInternetProtocol
*
http_protocol
=
NULL
;
static
IInternetProtocol
*
http_protocol
=
NULL
;
static
BOOL
first_data_notif
=
FALSE
;
static
BOOL
first_data_notif
=
FALSE
,
http_is_first
=
FALSE
;
static
HWND
protocol_hwnd
;
static
HWND
protocol_hwnd
;
static
int
state
=
0
;
static
int
state
=
0
;
static
DWORD
bindf
=
0
;
static
DWORD
bindf
=
0
;
...
@@ -1048,9 +1054,11 @@ static void test_file_protocol(void) {
...
@@ -1048,9 +1054,11 @@ static void test_file_protocol(void) {
static
BOOL
http_protocol_start
(
LPCWSTR
url
,
BOOL
is_first
)
static
BOOL
http_protocol_start
(
LPCWSTR
url
,
BOOL
is_first
)
{
{
static
BOOL
got_user_agent
=
FALSE
;
HRESULT
hres
;
HRESULT
hres
;
first_data_notif
=
TRUE
;
first_data_notif
=
TRUE
;
state
=
0
;
SET_EXPECT
(
GetBindInfo
);
SET_EXPECT
(
GetBindInfo
);
SET_EXPECT
(
GetBindString_USER_AGENT
);
SET_EXPECT
(
GetBindString_USER_AGENT
);
...
@@ -1065,7 +1073,16 @@ static BOOL http_protocol_start(LPCWSTR url, BOOL is_first)
...
@@ -1065,7 +1073,16 @@ static BOOL http_protocol_start(LPCWSTR url, BOOL is_first)
return
FALSE
;
return
FALSE
;
CHECK_CALLED
(
GetBindInfo
);
CHECK_CALLED
(
GetBindInfo
);
if
(
!
got_user_agent
)
{
CHECK_CALLED
(
GetBindString_USER_AGENT
);
CHECK_CALLED
(
GetBindString_USER_AGENT
);
got_user_agent
=
TRUE
;
}
else
todo_wine
{
/* user agent only retrieved once, even with different URLs */
CHECK_NOT_CALLED
(
GetBindString_USER_AGENT
);
}
CHECK_CALLED
(
GetBindString_ACCEPT_MIMES
);
CHECK_CALLED
(
GetBindString_ACCEPT_MIMES
);
CHECK_CALLED
(
QueryService_HttpNegotiate
);
CHECK_CALLED
(
QueryService_HttpNegotiate
);
CHECK_CALLED
(
BeginningTransaction
);
CHECK_CALLED
(
BeginningTransaction
);
...
@@ -1075,7 +1092,9 @@ static BOOL http_protocol_start(LPCWSTR url, BOOL is_first)
...
@@ -1075,7 +1092,9 @@ static BOOL http_protocol_start(LPCWSTR url, BOOL is_first)
return
TRUE
;
return
TRUE
;
}
}
static
void
test_http_protocol_url
(
LPCWSTR
url
)
/* is_first refers to whether this is the first call to this function
* _for this url_ */
static
void
test_http_protocol_url
(
LPCWSTR
url
,
BOOL
is_first
)
{
{
IInternetProtocolInfo
*
protocol_info
;
IInternetProtocolInfo
*
protocol_info
;
IClassFactory
*
factory
;
IClassFactory
*
factory
;
...
@@ -1084,6 +1103,7 @@ static void test_http_protocol_url(LPCWSTR url)
...
@@ -1084,6 +1103,7 @@ static void test_http_protocol_url(LPCWSTR url)
trace
(
"Testing http protocol...
\n
"
);
trace
(
"Testing http protocol...
\n
"
);
http_url
=
url
;
http_url
=
url
;
http_is_first
=
is_first
;
hres
=
CoGetClassObject
(
&
CLSID_HttpProtocol
,
CLSCTX_INPROC_SERVER
,
NULL
,
hres
=
CoGetClassObject
(
&
CLSID_HttpProtocol
,
CLSCTX_INPROC_SERVER
,
NULL
,
&
IID_IUnknown
,
(
void
**
)
&
unk
);
&
IID_IUnknown
,
(
void
**
)
&
unk
);
...
@@ -1118,7 +1138,7 @@ static void test_http_protocol_url(LPCWSTR url)
...
@@ -1118,7 +1138,7 @@ static void test_http_protocol_url(LPCWSTR url)
SET_EXPECT
(
ReportProgress_CONNECTING
);
SET_EXPECT
(
ReportProgress_CONNECTING
);
SET_EXPECT
(
ReportProgress_SENDINGREQUEST
);
SET_EXPECT
(
ReportProgress_SENDINGREQUEST
);
if
(
!
http_protocol_start
(
url
,
TRUE
))
if
(
!
http_protocol_start
(
url
,
is_first
))
return
;
return
;
hres
=
IInternetProtocol_Read
(
http_protocol
,
buf
,
2
,
&
cb
);
hres
=
IInternetProtocol_Read
(
http_protocol
,
buf
,
2
,
&
cb
);
...
@@ -1147,7 +1167,8 @@ static void test_http_protocol(void)
...
@@ -1147,7 +1167,8 @@ static void test_http_protocol(void)
'o'
,
'r'
,
'g'
,
'/'
,
's'
,
'i'
,
't'
,
'e'
,
'/'
,
'a'
,
'b'
,
'o'
,
'u'
,
't'
,
0
};
'o'
,
'r'
,
'g'
,
'/'
,
's'
,
'i'
,
't'
,
'e'
,
'/'
,
'a'
,
'b'
,
'o'
,
'u'
,
't'
,
0
};
tested_protocol
=
HTTP_TEST
;
tested_protocol
=
HTTP_TEST
;
test_http_protocol_url
(
winehq_url
);
test_http_protocol_url
(
winehq_url
,
TRUE
);
test_http_protocol_url
(
winehq_url
,
FALSE
);
}
}
...
@@ -1160,8 +1181,16 @@ static LRESULT WINAPI wnd_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam
...
@@ -1160,8 +1181,16 @@ static LRESULT WINAPI wnd_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam
SET_EXPECT
(
ReportData
);
SET_EXPECT
(
ReportData
);
if
(
!
state
)
{
if
(
!
state
)
{
if
(
http_is_first
)
{
CHECK_CALLED
(
ReportProgress_FINDINGRESOURCE
);
CHECK_CALLED
(
ReportProgress_FINDINGRESOURCE
);
CHECK_CALLED
(
ReportProgress_CONNECTING
);
CHECK_CALLED
(
ReportProgress_CONNECTING
);
}
else
todo_wine
{
CHECK_NOT_CALLED
(
ReportProgress_FINDINGRESOURCE
);
CHECK_NOT_CALLED
(
ReportProgress_CONNECTING
);
}
CHECK_CALLED
(
ReportProgress_SENDINGREQUEST
);
CHECK_CALLED
(
ReportProgress_SENDINGREQUEST
);
SET_EXPECT
(
OnResponse
);
SET_EXPECT
(
OnResponse
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment