Mariusz Pluciński : shell32/tests: Add notification about unknown known folders.

Alexandre Julliard julliard at winehq.org
Mon Aug 1 13:22:06 CDT 2011


Module: wine
Branch: master
Commit: e09f4ed0e84b6f35ba9545dea0c8504db4b62e0f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e09f4ed0e84b6f35ba9545dea0c8504db4b62e0f

Author: Mariusz Pluciński <vshader at gmail.com>
Date:   Fri Jul 29 19:07:49 2011 +0200

shell32/tests: Add notification about unknown known folders.

---

 dlls/shell32/tests/shellpath.c |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/dlls/shell32/tests/shellpath.c b/dlls/shell32/tests/shellpath.c
index a7d92d4..bcdf45e 100644
--- a/dlls/shell32/tests/shellpath.c
+++ b/dlls/shell32/tests/shellpath.c
@@ -1021,11 +1021,14 @@ static void check_known_folder(IKnownFolderManager *mgr, KNOWNFOLDERID *folderId
     WCHAR sName[1024], sRelativePath[MAX_PATH];
     BOOL validPath;
     char sParentGuid[39];
+    BOOL found = FALSE;
 
     while(known_folder->folderId != NULL)
     {
         if(IsEqualGUID(known_folder->folderId, folderId))
         {
+            found = TRUE;
+
             /* verify CSIDL */
             if(known_folder->csidl != NO_CSIDL)
             {
@@ -1082,6 +1085,42 @@ static void check_known_folder(IKnownFolderManager *mgr, KNOWNFOLDERID *folderId
         }
         known_folder++;
     }
+
+    if(!found)
+    {
+        printGUID(folderId, sParentGuid);
+        trace("unknown known folder found: %s\n", sParentGuid);
+
+        hr = IKnownFolderManager_GetFolder(mgr, folderId, &folder);
+        ok(hr == S_OK, "cannot get known folder for %s\n", sParentGuid);
+        if(SUCCEEDED(hr))
+        {
+            hr = IKnownFolder_GetFolderDefinition(folder, &kfd);
+            todo_wine
+            ok(hr == S_OK, "cannot get known folder definition for %s\n", sParentGuid);
+            if(SUCCEEDED(hr))
+            {
+                trace("  category: %d\n", kfd.category);
+                trace("  name: %s\n", wine_dbgstr_w(kfd.pszName));
+                trace("  description: %s\n", wine_dbgstr_w(kfd.pszDescription));
+                printGUID(&kfd.fidParent, sParentGuid);
+                trace("  parent: %s\n", sParentGuid);
+                trace("  relative path: %s\n", wine_dbgstr_w(kfd.pszRelativePath));
+                trace("  parsing name: %s\n", wine_dbgstr_w(kfd.pszParsingName));
+                trace("  tooltip: %s\n", wine_dbgstr_w(kfd.pszTooltip));
+                trace("  localized name: %s\n", wine_dbgstr_w(kfd.pszLocalizedName));
+                trace("  icon: %s\n", wine_dbgstr_w(kfd.pszIcon));
+                trace("  security: %s\n", wine_dbgstr_w(kfd.pszSecurity));
+                trace("  attributes: 0x%08x\n", kfd.dwAttributes);
+                trace("  flags: 0x%08x\n", kfd.kfdFlags);
+                printGUID(&kfd.ftidType, sParentGuid);
+                trace("  type: %s\n", sParentGuid);
+                FreeKnownFolderDefinitionFields(&kfd);
+            }
+
+            IKnownFolder_Release(folder);
+        }
+    }
 }
 #undef NO_CSIDL
 #undef CSIDL_TODO_WINE




More information about the wine-cvs mailing list