Module: wine Branch: master Commit: ab23dca7e9546a5e0f0e14a3fade6cd9ac93e3a8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ab23dca7e9546a5e0f0e14a3fa...
Author: Mariusz Pluciński vshader@gmail.com Date: Thu Jun 9 10:40:02 2011 +0200
shell32/tests: Basic tests of IKnownFolderManager.
---
dlls/shell32/tests/shellpath.c | 32 ++++++++++++++++++++++++++++++++ 1 files changed, 32 insertions(+), 0 deletions(-)
diff --git a/dlls/shell32/tests/shellpath.c b/dlls/shell32/tests/shellpath.c index d81ce80..7e77b25 100644 --- a/dlls/shell32/tests/shellpath.c +++ b/dlls/shell32/tests/shellpath.c @@ -883,6 +883,37 @@ if (0) { /* crashes */ ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr); }
+static void test_knownFolders(void) +{ + HRESULT hr; + IKnownFolderManager *mgr = NULL; + KNOWNFOLDERID folderId; + int csidl; + + CoInitialize(NULL); + + hr = CoCreateInstance(&CLSID_KnownFolderManager, NULL, CLSCTX_INPROC_SERVER, + &IID_IKnownFolderManager, (LPVOID*)&mgr); + if(hr == REGDB_E_CLASSNOTREG) + win_skip("IKnownFolderManager unavailable\n"); + else + { + ok(hr == S_OK, "failed to create KnownFolderManager instance: 0x%08x\n", hr); + + hr = IKnownFolderManager_FolderIdFromCsidl(mgr, CSIDL_WINDOWS, &folderId); + ok(hr == S_OK, "failed to convert CSIDL to KNOWNFOLDERID: 0x%08x\n", hr); + ok(IsEqualGUID(&folderId, &FOLDERID_Windows)==TRUE, "invalid KNOWNFOLDERID returned\n"); + + hr = IKnownFolderManager_FolderIdToCsidl(mgr, &FOLDERID_Windows, &csidl); + ok(hr == S_OK, "failed to convert CSIDL to KNOWNFOLDERID: 0x%08x\n", hr); + ok(csidl == CSIDL_WINDOWS, "invalid CSIDL returned\n"); + + hr = IKnownFolderManager_Release(mgr); + ok(hr == S_OK, "failed to release KnownFolderManager instance: 0x%08x\n", hr); + } + CoUninitialize(); +} + START_TEST(shellpath) { if (!init()) return; @@ -909,5 +940,6 @@ START_TEST(shellpath) testSystemDir(); test_NonExistentPath(); test_SHGetFolderPathEx(); + test_knownFolders(); } }