Thomas Mullaly : urlmon/tests: Added tests for CoInternetSetFeatureEnabled.
Alexandre Julliard
julliard at winehq.org
Mon Apr 11 13:29:30 CDT 2011
Module: wine
Branch: master
Commit: b83967ce6b5d98a2df61cd573f16f8cca1055f7a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b83967ce6b5d98a2df61cd573f16f8cca1055f7a
Author: Thomas Mullaly <tmullaly at codeweavers.com>
Date: Wed Apr 6 19:37:19 2011 -0400
urlmon/tests: Added tests for CoInternetSetFeatureEnabled.
---
dlls/urlmon/tests/misc.c | 52 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 51 insertions(+), 1 deletions(-)
diff --git a/dlls/urlmon/tests/misc.c b/dlls/urlmon/tests/misc.c
index 446721a..4811ab0 100644
--- a/dlls/urlmon/tests/misc.c
+++ b/dlls/urlmon/tests/misc.c
@@ -76,6 +76,7 @@ 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 HRESULT (WINAPI *pCoInternetSetFeatureEnabled)(INTERNETFEATURELIST,DWORD,BOOL);
static void test_CreateFormatEnum(void)
{
@@ -1538,13 +1539,61 @@ static void test_CoInternetIsFeatureEnabled(void) {
ok(hres == E_FAIL, "CoInternetIsFeatureEnabled returned %08x, expected E_FAIL\n", hres);
}
+static const struct {
+ INTERNETFEATURELIST feature;
+ DWORD set_flags;
+ BOOL enable;
+ HRESULT set_expected;
+ BOOL set_todo;
+ DWORD get_flags;
+ HRESULT get_expected;
+ BOOL get_todo;
+} internet_feature_tests[] = {
+ {FEATURE_OBJECT_CACHING,SET_FEATURE_ON_PROCESS,FALSE,S_OK,TRUE,GET_FEATURE_FROM_PROCESS,S_FALSE,TRUE},
+ {FEATURE_WEBOC_POPUPMANAGEMENT,SET_FEATURE_ON_PROCESS,TRUE,S_OK,TRUE,GET_FEATURE_FROM_PROCESS,S_OK,TRUE},
+ {FEATURE_LOCALMACHINE_LOCKDOWN,SET_FEATURE_ON_PROCESS,TRUE,S_OK,TRUE,GET_FEATURE_FROM_PROCESS,S_OK,TRUE}
+};
+
+static void test_CoInternetSetFeatureEnabled(void) {
+ HRESULT hres;
+ DWORD i;
+
+ hres = pCoInternetSetFeatureEnabled(FEATURE_ENTRY_COUNT,SET_FEATURE_ON_PROCESS,TRUE);
+ todo_wine
+ ok(hres == E_FAIL, "CoInternetSetFeatureEnabled returned %08x, expected E_FAIL\n", hres);
+
+ for(i = 0; i < sizeof(internet_feature_tests)/sizeof(internet_feature_tests[0]); ++i) {
+ hres = pCoInternetSetFeatureEnabled(internet_feature_tests[i].feature, internet_feature_tests[i].set_flags,
+ internet_feature_tests[i].enable);
+ if(internet_feature_tests[i].set_todo) {
+ todo_wine
+ ok(hres == internet_feature_tests[i].set_expected, "CoInternetSetFeatureEnabled returned %08x, expected %08x on test %d\n",
+ hres, internet_feature_tests[i].set_expected, i);
+ } else {
+ ok(hres == internet_feature_tests[i].set_expected, "CoInternetSetFeatureEnabled returned %08x, expected %08x on test %d\n",
+ hres, internet_feature_tests[i].set_expected, i);
+ }
+
+ hres = pCoInternetIsFeatureEnabled(internet_feature_tests[i].feature, internet_feature_tests[i].set_flags);
+ if(internet_feature_tests[i].get_todo) {
+ todo_wine
+ ok(hres == internet_feature_tests[i].get_expected, "CoInternetIsFeatureEnabled returned %08x, expected %08x on test %d\n",
+ hres, internet_feature_tests[i].get_expected, i);
+ } else {
+ ok(hres == internet_feature_tests[i].get_expected, "CoInternetIsFeatureEnabled returned %08x, expected %08x on test %d\n",
+ hres, internet_feature_tests[i].get_expected, i);
+ }
+ }
+}
+
static void test_internet_features(void) {
- if(!pCoInternetIsFeatureEnabled) {
+ if(!pCoInternetIsFeatureEnabled || !pCoInternetSetFeatureEnabled) {
win_skip("Skipping internet feature tests, IE is too old\n");
return;
}
test_CoInternetIsFeatureEnabled();
+ test_CoInternetSetFeatureEnabled();
}
START_TEST(misc)
@@ -1564,6 +1613,7 @@ START_TEST(misc)
pUrlMkGetSessionOption = (void*) GetProcAddress(hurlmon, "UrlMkGetSessionOption");
pCompareSecurityIds = (void*) GetProcAddress(hurlmon, "CompareSecurityIds");
pCoInternetIsFeatureEnabled = (void*) GetProcAddress(hurlmon, "CoInternetIsFeatureEnabled");
+ pCoInternetSetFeatureEnabled = (void*) GetProcAddress(hurlmon, "CoInternetSetFeatureEnabled");
if (!pCoInternetCompareUrl || !pCoInternetGetSecurityUrl ||
!pCoInternetGetSession || !pCoInternetParseUrl || !pCompareSecurityIds) {
More information about the wine-cvs
mailing list