void TestFileFinder(void) { BeginTests(); CFileUtil cFileUtil; CArrayString aszFiles; aszFiles.Init(1); cFileUtil.FindFilesWithExtension("Finder", "txt", &aszFiles); AssertInt(5, aszFiles.NumElements()); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Ants.txt", aszFiles.Get(0)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\File.txt", aszFiles.Get(1)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Last.txt", aszFiles.Get(2)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Marching.txt", aszFiles.Get(3)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Ninja.txt", aszFiles.Get(4)->Text(), FALSE); aszFiles.Kill(); aszFiles.Init(1); cFileUtil.FindFilesWithNameContaining("Finder", "Mar", &aszFiles); AssertInt(3, aszFiles.NumElements()); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Glenmark.wav", aszFiles.Get(0)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\March.rar", aszFiles.Get(1)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Marching.txt", aszFiles.Get(2)->Text(), FALSE); aszFiles.Kill(); aszFiles.Init(1); cFileUtil.FindAllDirectories("Finder", &aszFiles); aszFiles.QuickSort(); AssertInt(5, aszFiles.NumElements()); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\.", aszFiles.Get(0)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\..", aszFiles.Get(1)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Lord", aszFiles.Get(2)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Rising", aszFiles.Get(3)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Storm", aszFiles.Get(4)->Text(), FALSE); aszFiles.Kill(); aszFiles.Init(1); cFileUtil.FindFilesWithExtension("Finder", "rar", &aszFiles, TRUE); AssertInt(6, aszFiles.NumElements()); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Lord\\1.rar", aszFiles.Get(0)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Rising\\2.rar", aszFiles.Get(1)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Storm\\3.rar", aszFiles.Get(2)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Ants.rar", aszFiles.Get(3)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\Echo.rar", aszFiles.Get(4)->Text(), FALSE); AssertStringCase("C:\\gameengine\\Test\\TestBaseLib\\TestBaseLib\\Finder\\March.rar", aszFiles.Get(5)->Text(), FALSE); aszFiles.Kill(); aszFiles.Init(1); cFileUtil.FindAllFiles("Finder", &aszFiles, TRUE); AssertInt(12, aszFiles.NumElements()); aszFiles.Kill(); TestStatistics(); }
void CTranslationUnitFileArray::AddAllFiles(BOOL bLogInlucdes, BOOL bLogBlocks) { CChars szTemp; CArrayString aszTemp; int i; CChars* pszFile; int iIndex; int j; CChars* szFile; char* szExtension; int iBaseDirLen; CFileUtil cFileUtil; CArrayString aszFileNames; szTemp.Init("*.c;*.cpp"); aszTemp.Init(16); szTemp.Split(&aszTemp, ';'); iBaseDirLen = mpcLibrary->mszBaseDir.Length(); for (i = 0; i < aszTemp.NumElements(); i++) { pszFile = aszTemp.Get(i); pszFile->StripWhiteSpace(); iIndex = pszFile->Find(0, "."); szExtension = pszFile->Text(iIndex+1); aszFileNames.Init(32); cFileUtil.FindFilesWithExtension(mpcLibrary->mszBaseDir.Text(), szExtension, &aszFileNames); for (j = 0; j < aszFileNames.NumElements(); j++) { szFile = aszFileNames.Get(j); AddFile(szFile->Text(iBaseDirLen+1), bLogInlucdes, bLogBlocks); } aszFileNames.Kill(); } szTemp.Kill(); aszTemp.Kill(); }