Thomas Mullaly : urlmon/tests: Added tests for CoInternetIsFeatureEnabled.
Alexandre Julliard
julliard at winehq.org
Mon Apr 11 13:29:30 CDT 2011
Module: wine
Branch: master
Commit: 99480b0dc8c55c72eec7e20065f7de2dcc69d974
URL: http://source.winehq.org/git/wine.git/?a=commit;h=99480b0dc8c55c72eec7e20065f7de2dcc69d974
Author: Thomas Mullaly <tmullaly at codeweavers.com>
Date: Tue Apr 5 23:30:53 2011 -0400
urlmon/tests: Added tests for CoInternetIsFeatureEnabled.
---
dlls/urlmon/tests/misc.c | 76 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 75 insertions(+), 1 deletions(-)
diff --git a/dlls/urlmon/tests/misc.c b/dlls/urlmon/tests/misc.c
index 47ab4f8..446721a 100644
--- a/dlls/urlmon/tests/misc.c
+++ b/dlls/urlmon/tests/misc.c
@@ -75,7 +75,7 @@ static HRESULT (WINAPI *pObtainUserAgentString)(DWORD, LPSTR, DWORD*);
static HRESULT (WINAPI *pReleaseBindInfo)(BINDINFO*);
static HRESULT (WINAPI *pUrlMkGetSessionOption)(DWORD, LPVOID, DWORD, DWORD *, DWORD);
static HRESULT (WINAPI *pCompareSecurityIds)(BYTE*,DWORD,BYTE*,DWORD,DWORD);
-
+static HRESULT (WINAPI *pCoInternetIsFeatureEnabled)(INTERNETFEATURELIST,DWORD);
static void test_CreateFormatEnum(void)
{
@@ -1475,6 +1475,78 @@ static void test_IsValidURL(void)
IBindCtx_Release(bctx);
}
+static const struct {
+ INTERNETFEATURELIST feature;
+ DWORD get_flags;
+ HRESULT expected;
+ BOOL todo;
+} default_feature_tests[] = {
+ {FEATURE_OBJECT_CACHING,GET_FEATURE_FROM_PROCESS,S_OK,TRUE},
+ {FEATURE_ZONE_ELEVATION,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_MIME_HANDLING,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_MIME_SNIFFING,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_WINDOW_RESTRICTIONS,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_WEBOC_POPUPMANAGEMENT,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_BEHAVIORS,GET_FEATURE_FROM_PROCESS,S_OK,TRUE},
+ {FEATURE_DISABLE_MK_PROTOCOL,GET_FEATURE_FROM_PROCESS,S_OK,TRUE},
+ {FEATURE_LOCALMACHINE_LOCKDOWN,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_SECURITYBAND,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_RESTRICT_ACTIVEXINSTALL,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_VALIDATE_NAVIGATE_URL,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_RESTRICT_FILEDOWNLOAD,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_ADDON_MANAGEMENT,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_PROTOCOL_LOCKDOWN,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_HTTP_USERNAME_PASSWORD_DISABLE,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_SAFE_BINDTOOBJECT,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_UNC_SAVEDFILECHECK,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_GET_URL_DOM_FILEPATH_UNENCODED,GET_FEATURE_FROM_PROCESS,S_OK,TRUE},
+ {FEATURE_TABBED_BROWSING,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_SSLUX,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_DISABLE_NAVIGATION_SOUNDS,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_DISABLE_LEGACY_COMPRESSION,GET_FEATURE_FROM_PROCESS,S_OK,TRUE},
+ {FEATURE_FORCE_ADDR_AND_STATUS,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_XMLHTTP,GET_FEATURE_FROM_PROCESS,S_OK,TRUE},
+ {FEATURE_DISABLE_TELNET_PROTOCOL,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_FEEDS,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_BLOCK_INPUT_PROMPTS,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE}
+};
+
+static void test_internet_feature_defaults(void) {
+ HRESULT hres;
+ DWORD i;
+
+ for(i = 0; i < sizeof(default_feature_tests)/sizeof(default_feature_tests[0]); ++i) {
+ hres = pCoInternetIsFeatureEnabled(default_feature_tests[i].feature, default_feature_tests[i].get_flags);
+ if(default_feature_tests[i].todo) {
+ todo_wine
+ ok(hres == default_feature_tests[i].expected, "CoInternetIsFeatureEnabled returned %08x, expected %08x on test %d\n",
+ hres, default_feature_tests[i].expected, i);
+ } else {
+ ok(hres == default_feature_tests[i].expected, "CoInternetIsFeatureEnabled returned %08x, expected %08x on test %d\n",
+ hres, default_feature_tests[i].expected, i);
+ }
+ }
+}
+
+static void test_CoInternetIsFeatureEnabled(void) {
+ HRESULT hres;
+
+ test_internet_feature_defaults();
+
+ hres = pCoInternetIsFeatureEnabled(FEATURE_ENTRY_COUNT, GET_FEATURE_FROM_PROCESS);
+ todo_wine
+ ok(hres == E_FAIL, "CoInternetIsFeatureEnabled returned %08x, expected E_FAIL\n", hres);
+}
+
+static void test_internet_features(void) {
+ if(!pCoInternetIsFeatureEnabled) {
+ win_skip("Skipping internet feature tests, IE is too old\n");
+ return;
+ }
+
+ test_CoInternetIsFeatureEnabled();
+}
+
START_TEST(misc)
{
HMODULE hurlmon;
@@ -1491,6 +1563,7 @@ START_TEST(misc)
pReleaseBindInfo = (void*) GetProcAddress(hurlmon, "ReleaseBindInfo");
pUrlMkGetSessionOption = (void*) GetProcAddress(hurlmon, "UrlMkGetSessionOption");
pCompareSecurityIds = (void*) GetProcAddress(hurlmon, "CompareSecurityIds");
+ pCoInternetIsFeatureEnabled = (void*) GetProcAddress(hurlmon, "CoInternetIsFeatureEnabled");
if (!pCoInternetCompareUrl || !pCoInternetGetSecurityUrl ||
!pCoInternetGetSession || !pCoInternetParseUrl || !pCompareSecurityIds) {
@@ -1516,6 +1589,7 @@ START_TEST(misc)
test_user_agent();
test_MkParseDisplayNameEx();
test_IsValidURL();
+ test_internet_features();
OleUninitialize();
}
More information about the wine-cvs
mailing list