Lines Matching full:filepath
30 #include "gtest/internal/gtest-filepath.h"
101 FilePath FilePath::GetCurrentDir() { in GetCurrentDir()
109 return FilePath(kCurrentDirectoryString); in GetCurrentDir()
112 return FilePath(_getcwd(cwd, sizeof(cwd)) == nullptr ? "" : cwd); in GetCurrentDir()
120 return FilePath(result == nullptr ? kCurrentDirectoryString : cwd); in GetCurrentDir()
122 return FilePath(result == nullptr ? "" : cwd); in GetCurrentDir()
126 // Returns a copy of the FilePath with the case-insensitive extension removed.
127 // Example: FilePath("dir/file.exe").RemoveExtension("EXE") returns
128 // FilePath("dir/file"). If a case-insensitive extension is not
129 // found, returns a copy of the original FilePath.
130 FilePath FilePath::RemoveExtension(const char* extension) const { in RemoveExtension()
133 return FilePath( in RemoveExtension()
140 // the FilePath. On Windows, for example, both '/' and '\' are valid path
142 const char* FilePath::FindLastPathSeparator() const { in FindLastPathSeparator()
155 size_t FilePath::CalculateRootLength() const { in CalculateRootLength()
193 // Returns a copy of the FilePath with the directory part removed.
194 // Example: FilePath("path/to/file").RemoveDirectoryName() returns
195 // FilePath("file"). If there is no directory part ("just_a_file"), it returns
196 // the FilePath unmodified. If there is no file part ("just_a_dir/") it
197 // returns an empty FilePath ("").
199 FilePath FilePath::RemoveDirectoryName() const { in RemoveDirectoryName()
201 return last_sep ? FilePath(last_sep + 1) : *this; in RemoveDirectoryName()
205 // Example: FilePath("path/to/file").RemoveFileName() returns "path/to/".
206 // If the FilePath is "a_file" or "/a_file", RemoveFileName returns
207 // FilePath("./") or, on Windows, FilePath(".\\"). If the filepath does
208 // not have a file, like "just/a/dir/", it returns the FilePath unmodified.
210 FilePath FilePath::RemoveFileName() const { in RemoveFileName()
218 return FilePath(dir); in RemoveFileName()
227 FilePath FilePath::MakeFileName(const FilePath& directory, in MakeFileName()
228 const FilePath& base_name, int number, in MakeFileName()
237 return ConcatPaths(directory, FilePath(file)); in MakeFileName()
242 FilePath FilePath::ConcatPaths(const FilePath& directory, in ConcatPaths()
243 const FilePath& relative_path) { in ConcatPaths()
245 const FilePath dir(directory.RemoveTrailingPathSeparator()); in ConcatPaths()
246 return FilePath(dir.string() + kPathSeparator + relative_path.string()); in ConcatPaths()
251 bool FilePath::FileOrDirectoryExists() const { in FileOrDirectoryExists()
265 bool FilePath::DirectoryExists() const { in DirectoryExists()
270 const FilePath& path(IsRootDirectory() ? *this in DirectoryExists()
273 const FilePath& path(*this); in DirectoryExists()
295 bool FilePath::IsRootDirectory() const { in IsRootDirectory()
302 bool FilePath::IsAbsolutePath() const { return CalculateRootLength() > 0; } in IsAbsolutePath()
312 FilePath FilePath::GenerateUniqueFileName(const FilePath& directory, in GenerateUniqueFileName()
313 const FilePath& base_name, in GenerateUniqueFileName()
315 FilePath full_pathname; in GenerateUniqueFileName()
323 // Returns true if FilePath ends with a path separator, which indicates that
326 bool FilePath::IsDirectory() const { in IsDirectory()
334 bool FilePath::CreateDirectoriesRecursively() const { in CreateDirectoriesRecursively()
343 const FilePath parent(this->RemoveTrailingPathSeparator().RemoveFileName()); in CreateDirectoriesRecursively()
351 bool FilePath::CreateFolder() const { in CreateFolder()
353 FilePath removed_sep(this->RemoveTrailingPathSeparator()); in CreateFolder()
377 FilePath FilePath::RemoveTrailingPathSeparator() const { in RemoveTrailingPathSeparator()
378 return IsDirectory() ? FilePath(pathname_.substr(0, pathname_.length() - 1)) in RemoveTrailingPathSeparator()
386 void FilePath::Normalize() { in Normalize()