https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ea3c56b659ded0121f2613f7f133a669390997d2

commit ea3c56b659ded0121f2613f7f133a669390997d2
Author:     Katayama Hirofumi MZ <[email protected]>
AuthorDate: Thu Mar 18 09:49:40 2021 +0900
Commit:     GitHub <[email protected]>
CommitDate: Thu Mar 18 09:49:40 2021 +0900

    [BROWSEUI_APITEST] Strengthen ACListISF testcase (#3538)
    
    Add tests for ACListISF testcase to clarify the details. CORE-9281
---
 modules/rostests/apitests/browseui/ACListISF.cpp | 125 ++++++++++++++++++++++-
 1 file changed, 121 insertions(+), 4 deletions(-)

diff --git a/modules/rostests/apitests/browseui/ACListISF.cpp 
b/modules/rostests/apitests/browseui/ACListISF.cpp
index 7ae0d10b4c4..7cb1bc6d93a 100644
--- a/modules/rostests/apitests/browseui/ACListISF.cpp
+++ b/modules/rostests/apitests/browseui/ACListISF.cpp
@@ -1,8 +1,9 @@
 /*
- * PROJECT:         ReactOS api tests
- * LICENSE:         GPLv2+ - See COPYING in the top level directory
- * PURPOSE:         Test for ACListISF objects
- * PROGRAMMER:      Mark Jansen
+ * PROJECT:     ReactOS api tests
+ * LICENSE:     GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
+ * PURPOSE:     Test for ACListISF objects
+ * COPYRIGHT:   Copyright 2016 Mark Jansen <[email protected]>
+ *              Copyright 2021 Katayama Hirofumi MZ 
<[email protected]>
  */
 
 #define _UNICODE
@@ -259,6 +260,122 @@ test_ACListISF_CURRENTDIR()
     // The first set of results are absolute paths, without hidden files?!
     test_ExpectFolders(EnumStr, pidlDiskRoot, Buffer2, IgnoreHidden);
     test_ExpectFolders(EnumStr, pidlDiskRoot, Buffer2, IgnoreHidden | 
IgnoreRoot | CheckLast);
+
+    WCHAR szDir[MAX_PATH], szPath[MAX_PATH];
+    Buffer2[2] = 0;
+    StringCbCopyW(szDir, sizeof(szDir), Buffer2);
+
+    StringCbCopyW(szPath, sizeof(szPath), szDir);
+    StringCbCatW(szPath, sizeof(szPath), L"\\BROWSEUI-1");
+    CreateDirectoryW(szPath, NULL);
+
+    StringCbCopyW(szPath, sizeof(szPath), szDir);
+    StringCbCatW(szPath, sizeof(szPath), L"\\BROWSEUI-1\\TEST1");
+    CreateDirectoryW(szPath, NULL);
+
+    StringCbCopyW(szPath, sizeof(szPath), szDir);
+    StringCbCatW(szPath, sizeof(szPath), L"\\BROWSEUI-1\\TEST2");
+    CreateDirectoryW(szPath, NULL);
+
+    StringCbCopyW(szPath, sizeof(szPath), szDir);
+    StringCbCatW(szPath, sizeof(szPath), L"\\BROWSEUI-2");
+    CreateDirectoryW(szPath, NULL);
+
+    StringCbCopyW(szPath, sizeof(szPath), szDir);
+    StringCbCatW(szPath, sizeof(szPath), L"\\BROWSEUI-2\\tes1");
+    CreateDirectoryW(szPath, NULL);
+
+    StringCbCopyW(szPath, sizeof(szPath), szDir);
+    StringCbCatW(szPath, sizeof(szPath), L"\\BROWSEUI-2\\tes2");
+    CreateDirectoryW(szPath, NULL);
+
+    ULONG cGot;
+    LPWSTR psz = NULL;
+    EnumStr->Reset();
+
+    StringCbCopyW(szPath, sizeof(szPath), szDir);
+    StringCbCatW(szPath, sizeof(szPath), L"\\BROWSEUI-1\\");
+    ok_hr(hr = ACList->Expand(szPath), S_OK);
+
+    hr = EnumStr->Next(1, &psz, &cGot);
+    ok_hr(hr, S_OK);
+    StringCbCopyW(szPath, sizeof(szPath), szDir);
+    StringCbCatW(szPath, sizeof(szPath), L"\\BROWSEUI-1\\TEST1");
+    ok_wstr(szPath, psz);
+    CoTaskMemFree(psz);
+
+    hr = EnumStr->Next(1, &psz, &cGot);
+    ok_hr(hr, S_OK);
+    StringCbCopyW(szPath, sizeof(szPath), szDir);
+    StringCbCatW(szPath, sizeof(szPath), L"\\BROWSEUI-1\\TEST2");
+    ok_wstr(szPath, psz);
+    CoTaskMemFree(psz);
+
+    StringCbCopyW(szPath, sizeof(szPath), szDir);
+    StringCbCatW(szPath, sizeof(szPath), L"\\BROWSEUI-2\\");
+    ok_hr(hr = CurrentWorkingDir->SetDirectory(szPath), S_OK);
+
+    hr = EnumStr->Next(1, &psz, &cGot);
+    ok_hr(hr, S_OK);
+    ok_wstr(psz, L"tes1");
+    CoTaskMemFree(psz);
+
+    hr = EnumStr->Next(1, &psz, &cGot);
+    ok_hr(hr, S_OK);
+    ok_wstr(psz, L"tes2");
+    CoTaskMemFree(psz);
+
+    hr = EnumStr->Next(1, &psz, &cGot);
+    ok_hr(hr, S_FALSE);
+    CoTaskMemFree(psz);
+
+    StringCbCopyW(szPath, sizeof(szPath), szDir);
+    StringCbCatW(szPath, sizeof(szPath), L"\\BROWSEUI-2");
+    ok_hr(hr = CurrentWorkingDir->SetDirectory(szPath), S_OK);
+
+    hr = EnumStr->Next(1, &psz, &cGot);
+    ok_hr(hr, S_FALSE);
+    CoTaskMemFree(psz);
+
+    EnumStr->Reset();
+
+    hr = EnumStr->Next(1, &psz, &cGot);
+    ok_hr(hr, S_OK);
+    ok_wstr(psz, L"tes1");
+    CoTaskMemFree(psz);
+
+    hr = EnumStr->Next(1, &psz, &cGot);
+    ok_hr(hr, S_OK);
+    ok_wstr(psz, L"tes2");
+    CoTaskMemFree(psz);
+
+    hr = EnumStr->Next(1, &psz, &cGot);
+    ok_hr(hr, S_FALSE);
+    CoTaskMemFree(psz);
+
+    StringCbCopyW(szPath, sizeof(szPath), szDir);
+    StringCbCatW(szPath, sizeof(szPath), L"\\BROWSEUI-1\\TEST1");
+    RemoveDirectoryW(szPath);
+
+    StringCbCopyW(szPath, sizeof(szPath), szDir);
+    StringCbCatW(szPath, sizeof(szPath), L"\\BROWSEUI-1\\TEST2");
+    RemoveDirectoryW(szPath);
+
+    StringCbCopyW(szPath, sizeof(szPath), szDir);
+    StringCbCatW(szPath, sizeof(szPath), L"\\BROWSEUI-1");
+    RemoveDirectoryW(szPath);
+
+    StringCbCopyW(szPath, sizeof(szPath), szDir);
+    StringCbCatW(szPath, sizeof(szPath), L"\\BROWSEUI-2\\tes1");
+    RemoveDirectoryW(szPath);
+
+    StringCbCopyW(szPath, sizeof(szPath), szDir);
+    StringCbCatW(szPath, sizeof(szPath), L"\\BROWSEUI-2\\tes2");
+    RemoveDirectoryW(szPath);
+
+    StringCbCopyW(szPath, sizeof(szPath), szDir);
+    StringCbCatW(szPath, sizeof(szPath), L"\\BROWSEUI-2");
+    RemoveDirectoryW(szPath);
 }
 
 static void

Reply via email to