Greg Geldorp : urlmon/tests: Fix tests when connecting via proxy.
Alexandre Julliard
julliard at winehq.org
Wed Jan 19 11:46:16 CST 2011
Module: wine
Branch: master
Commit: 3f153007ba7c19fdb8b30c19143ad26e146c5eee
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3f153007ba7c19fdb8b30c19143ad26e146c5eee
Author: Greg Geldorp <ggeldorp at vmware.com>
Date: Wed Jan 19 12:44:07 2011 +0100
urlmon/tests: Fix tests when connecting via proxy.
---
dlls/urlmon/tests/protocol.c | 24 +++++++++++++++++++++++-
dlls/urlmon/tests/url.c | 31 +++++++++++++++++++++++++++++--
2 files changed, 52 insertions(+), 3 deletions(-)
diff --git a/dlls/urlmon/tests/protocol.c b/dlls/urlmon/tests/protocol.c
index dd8cbf9..dcfe20c 100644
--- a/dlls/urlmon/tests/protocol.c
+++ b/dlls/urlmon/tests/protocol.c
@@ -221,6 +221,25 @@ static int strcmp_ww(LPCWSTR strw1, LPCWSTR strw2)
return lstrcmpA(stra1, stra2);
}
+static BOOL proxy_active(void)
+{
+ HKEY internet_settings;
+ DWORD proxy_enable;
+ DWORD size;
+
+ if (RegOpenKeyExA(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings",
+ 0, KEY_QUERY_VALUE, &internet_settings) != ERROR_SUCCESS)
+ return FALSE;
+
+ size = sizeof(DWORD);
+ if (RegQueryValueExA(internet_settings, "ProxyEnable", NULL, NULL, (LPBYTE) &proxy_enable, &size) != ERROR_SUCCESS)
+ proxy_enable = 0;
+
+ RegCloseKey(internet_settings);
+
+ return proxy_enable != 0;
+}
+
static HRESULT WINAPI HttpSecurity_QueryInterface(IHttpSecurity *iface, REFIID riid, void **ppv)
{
if(IsEqualGUID(&IID_IUnknown, riid)
@@ -581,7 +600,10 @@ static void call_continue(PROTOCOLDATA *protocol_data)
CLEAR_CALLED(ReportProgress_CONNECTING);
CLEAR_CALLED(ReportProgress_PROXYDETECTING);
}else if(test_redirect) {
- CHECK_CALLED(ReportProgress_FINDINGRESOURCE);
+ if (! proxy_active())
+ CHECK_CALLED(ReportProgress_FINDINGRESOURCE);
+ else
+ CLEAR_CALLED(ReportProgress_FINDINGRESOURCE);
}else todo_wine {
CHECK_NOT_CALLED(ReportProgress_FINDINGRESOURCE);
/* IE7 does call this */
diff --git a/dlls/urlmon/tests/url.c b/dlls/urlmon/tests/url.c
index 47b2e79..21d5fd6 100644
--- a/dlls/urlmon/tests/url.c
+++ b/dlls/urlmon/tests/url.c
@@ -246,6 +246,25 @@ static const char *debugstr_guid(REFIID riid)
return buf;
}
+static BOOL proxy_active(void)
+{
+ HKEY internet_settings;
+ DWORD proxy_enable;
+ DWORD size;
+
+ if (RegOpenKeyExA(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings",
+ 0, KEY_QUERY_VALUE, &internet_settings) != ERROR_SUCCESS)
+ return FALSE;
+
+ size = sizeof(DWORD);
+ if (RegQueryValueExA(internet_settings, "ProxyEnable", NULL, NULL, (LPBYTE) &proxy_enable, &size) != ERROR_SUCCESS)
+ proxy_enable = 0;
+
+ RegCloseKey(internet_settings);
+
+ return proxy_enable != 0;
+}
+
static BOOL is_urlmon_protocol(int prot)
{
return prot == FILE_TEST || prot == HTTP_TEST || prot == HTTPS_TEST || prot == FTP_TEST || prot == MK_TEST;
@@ -2799,8 +2818,16 @@ static void test_BindToStorage(int protocol, DWORD flags, DWORD t)
CHECK_CALLED(GetRootSecurityId);
}
if(http_is_first || (test_protocol == HTTPS_TEST && !(flags & BINDTEST_INVALID_CN))) {
- CHECK_CALLED(OnProgress_FINDINGRESOURCE);
- CHECK_CALLED(OnProgress_CONNECTING);
+ if (! proxy_active())
+ {
+ CHECK_CALLED(OnProgress_FINDINGRESOURCE);
+ CHECK_CALLED(OnProgress_CONNECTING);
+ }
+ else
+ {
+ CLEAR_CALLED(OnProgress_FINDINGRESOURCE);
+ CLEAR_CALLED(OnProgress_CONNECTING);
+ }
}else todo_wine {
CHECK_NOT_CALLED(OnProgress_FINDINGRESOURCE);
/* IE7 does call this */
More information about the wine-cvs
mailing list