[SHELL32][SDK][SHELL32_APITEST] Add PathIsTemporaryA/W (#6067)

- Implement PathIsTemporaryA and
  PathIsTemporaryW functions.
- Add them to <undocshell.h>.
- Add PathIsTemporary testcase.
CORE-19278
This commit is contained in:
Katayama Hirofumi MZ 2023-12-02 23:07:28 +09:00 committed by GitHub
parent f31f9facc9
commit 4bccb6e6c9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 108 additions and 0 deletions

View file

@ -20,6 +20,7 @@ list(APPEND SOURCE
IShellFolderViewCB.cpp
OpenAs_RunDLL.cpp
PathIsEqualOrSubFolder.cpp
PathIsTemporary.cpp
PathResolve.cpp
SHAppBarMessage.cpp
SHChangeNotify.cpp

View file

@ -0,0 +1,57 @@
/*
* PROJECT: ReactOS API Tests
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
* PURPOSE: Tests for PathIsTemporaryA/W
* COPYRIGHT: Copyright 2023 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
*/
#include "shelltest.h"
#include <undocshell.h>
static void Test_PathIsTemporaryA(void)
{
CHAR szPath[MAX_PATH];
ok_int(PathIsTemporaryA("C:\\"), FALSE);
ok_int(PathIsTemporaryA("C:\\TestTestTest"), FALSE);
GetWindowsDirectoryA(szPath, _countof(szPath));
ok_int(PathIsTemporaryA(szPath), FALSE);
GetTempPathA(_countof(szPath), szPath);
ok_int(PathIsTemporaryA(szPath), TRUE);
PathAppendA(szPath, "TestTestTest");
ok_int(PathIsTemporaryA(szPath), FALSE);
CreateDirectoryA(szPath, NULL);
ok_int(PathIsTemporaryA(szPath), TRUE);
RemoveDirectoryA(szPath);
}
static void Test_PathIsTemporaryW(void)
{
WCHAR szPath[MAX_PATH];
ok_int(PathIsTemporaryW(L"C:\\"), FALSE);
ok_int(PathIsTemporaryW(L"C:\\TestTestTest"), FALSE);
GetWindowsDirectoryW(szPath, _countof(szPath));
ok_int(PathIsTemporaryW(szPath), FALSE);
GetTempPathW(_countof(szPath), szPath);
ok_int(PathIsTemporaryW(szPath), TRUE);
PathAppendW(szPath, L"TestTestTest");
ok_int(PathIsTemporaryW(szPath), FALSE);
CreateDirectoryW(szPath, NULL);
ok_int(PathIsTemporaryW(szPath), TRUE);
RemoveDirectoryW(szPath);
}
START_TEST(PathIsTemporary)
{
Test_PathIsTemporaryA();
Test_PathIsTemporaryW();
}

View file

@ -22,6 +22,7 @@ extern void func_IShellFolderViewCB(void);
extern void func_menu(void);
extern void func_OpenAs_RunDLL(void);
extern void func_PathIsEqualOrSubFolder(void);
extern void func_PathIsTemporary(void);
extern void func_PathResolve(void);
extern void func_SHAppBarMessage(void);
extern void func_SHChangeNotify(void);
@ -59,6 +60,7 @@ const struct test winetest_testlist[] =
{ "menu", func_menu },
{ "OpenAs_RunDLL", func_OpenAs_RunDLL },
{ "PathIsEqualOrSubFolder", func_PathIsEqualOrSubFolder },
{ "PathIsTemporary", func_PathIsTemporary },
{ "PathResolve", func_PathResolve },
{ "SHAppBarMessage", func_SHAppBarMessage },
{ "SHChangeNotify", func_SHChangeNotify },