Module: wine Branch: master Commit: b83967ce6b5d98a2df61cd573f16f8cca1055f7a URL: http://source.winehq.org/git/wine.git/?a=commit;h=b83967ce6b5d98a2df61cd573f...
Author: Thomas Mullaly tmullaly@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) {