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