Reactos
at master 42 lines 1.7 kB view raw
1/* 2 * PROJECT: ReactOS API Tests 3 * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) 4 * PURPOSE: Tests for PathIsEqualOrSubFolder 5 * COPYRIGHT: Copyright 2023 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com> 6 */ 7 8#include "shelltest.h" 9#include <undocshell.h> 10 11START_TEST(PathIsEqualOrSubFolder) 12{ 13 ok_int(PathIsEqualOrSubFolder(L"C:", L"C:"), TRUE); 14 ok_int(PathIsEqualOrSubFolder(L"C:", L"C:\\"), TRUE); 15 if (GetNTVersion() != _WIN32_WINNT_VISTA) 16 ok_int(PathIsEqualOrSubFolder(L"C:\\", L"C:"), TRUE); 17 ok_int(PathIsEqualOrSubFolder(L"C:\\", L"C:\\"), TRUE); 18 ok_int(PathIsEqualOrSubFolder(L"C:\\", L"C:\\TestTestTest"), TRUE); 19 ok_int(PathIsEqualOrSubFolder(L"C:\\TestTestTest", L"C:\\"), FALSE); 20 ok_int(PathIsEqualOrSubFolder(L"C:\\TestTestTest", L"C:\\TestTestTest"), TRUE); 21 ok_int(PathIsEqualOrSubFolder(L"C:\\TestTestTest", L"C:\\TestTestTest\\"), TRUE); 22 23 WCHAR szPath1[MAX_PATH], szPath2[MAX_PATH]; 24 25 GetWindowsDirectoryW(szPath1, _countof(szPath1)); 26 ok_int(PathIsEqualOrSubFolder(szPath1, szPath1), TRUE); 27 28 GetWindowsDirectoryW(szPath2, _countof(szPath2)); 29 PathAppendW(szPath2, L"TestTestTest"); 30 31 ok_int(PathIsEqualOrSubFolder(szPath1, szPath2), TRUE); 32 ok_int(PathIsEqualOrSubFolder(szPath2, szPath1), FALSE); 33 ok_int(PathIsEqualOrSubFolder(szPath2, szPath2), TRUE); 34 35 GetTempPathW(_countof(szPath1), szPath1); 36 GetTempPathW(_countof(szPath2), szPath2); 37 PathAppendW(szPath2, L"TestTestTest"); 38 39 ok_int(PathIsEqualOrSubFolder(szPath1, szPath2), TRUE); 40 ok_int(PathIsEqualOrSubFolder(szPath2, szPath1), FALSE); 41 ok_int(PathIsEqualOrSubFolder(szPath2, szPath2), TRUE); 42}