Merge pull request #23351 from 3x380V/fileinfo
Core: Modernize Fileinfo
This commit is contained in:
@@ -8,6 +8,7 @@ add_executable(Base_tests_run
|
||||
CoordinateSystem.cpp
|
||||
DualNumber.cpp
|
||||
DualQuaternion.cpp
|
||||
FileInfo.cpp
|
||||
Handle.cpp
|
||||
Matrix.cpp
|
||||
Parameter.cpp
|
||||
|
||||
149
tests/src/Base/FileInfo.cpp
Normal file
149
tests/src/Base/FileInfo.cpp
Normal file
@@ -0,0 +1,149 @@
|
||||
#include <gtest/gtest.h>
|
||||
#include <Base/FileInfo.h>
|
||||
#include <Base/Stream.h>
|
||||
#include <Base/TimeInfo.h>
|
||||
|
||||
class FileInfoTest: public ::testing::Test
|
||||
{
|
||||
protected:
|
||||
FileInfoTest()
|
||||
{
|
||||
tmp.setFile(Base::FileInfo::getTempPath() + "fctest");
|
||||
tmp.createDirectory();
|
||||
|
||||
file.setFile(tmp.filePath() + "/test.txt");
|
||||
dir.setFile(tmp.filePath() + "/subdir");
|
||||
}
|
||||
|
||||
void SetUp() override
|
||||
{
|
||||
Base::ofstream str(file, std::ios::out);
|
||||
str << "Test\n";
|
||||
str.close();
|
||||
dir.createDirectory();
|
||||
}
|
||||
|
||||
void TearDown() override
|
||||
{
|
||||
EXPECT_TRUE(file.deleteFile());
|
||||
EXPECT_TRUE(dir.deleteDirectory());
|
||||
}
|
||||
|
||||
protected:
|
||||
Base::FileInfo tmp;
|
||||
Base::FileInfo file;
|
||||
Base::FileInfo dir;
|
||||
};
|
||||
|
||||
TEST_F(FileInfoTest, TestDirectoryPath)
|
||||
{
|
||||
Base::FileInfo relfile("nofile.txt");
|
||||
relfile.setFile(relfile.dirPath());
|
||||
EXPECT_TRUE(relfile.exists());
|
||||
}
|
||||
|
||||
TEST_F(FileInfoTest, TestExistsDirectory)
|
||||
{
|
||||
EXPECT_TRUE(tmp.exists());
|
||||
}
|
||||
|
||||
TEST_F(FileInfoTest, TestCreateDirectory)
|
||||
{
|
||||
Base::FileInfo path;
|
||||
path.setFile(tmp.filePath() + "/subdir1/subdir2");
|
||||
EXPECT_FALSE(path.createDirectory());
|
||||
}
|
||||
|
||||
TEST_F(FileInfoTest, TestDirectoryContent)
|
||||
{
|
||||
auto content = tmp.getDirectoryContent();
|
||||
EXPECT_EQ(content.size(), 2);
|
||||
EXPECT_TRUE(content[0].exists());
|
||||
EXPECT_TRUE(content[1].exists());
|
||||
}
|
||||
|
||||
TEST_F(FileInfoTest, TestCheckPermission)
|
||||
{
|
||||
EXPECT_TRUE(file.isReadable());
|
||||
EXPECT_TRUE(file.isWritable());
|
||||
}
|
||||
|
||||
TEST_F(FileInfoTest, TestCheckNoPermission)
|
||||
{
|
||||
std::string path = tmp.filePath();
|
||||
Base::FileInfo nofile(path + "/nofile");
|
||||
EXPECT_FALSE(nofile.isReadable());
|
||||
EXPECT_FALSE(nofile.isWritable());
|
||||
}
|
||||
|
||||
TEST_F(FileInfoTest, TestSetPermission)
|
||||
{
|
||||
file.setPermissions(Base::FileInfo::ReadOnly);
|
||||
EXPECT_TRUE(file.isReadable());
|
||||
EXPECT_FALSE(file.isWritable());
|
||||
|
||||
file.setPermissions(Base::FileInfo::WriteOnly);
|
||||
EXPECT_FALSE(file.isReadable());
|
||||
EXPECT_TRUE(file.isWritable());
|
||||
|
||||
file.setPermissions(Base::FileInfo::ReadWrite);
|
||||
EXPECT_TRUE(file.isReadable());
|
||||
EXPECT_TRUE(file.isWritable());
|
||||
}
|
||||
|
||||
TEST_F(FileInfoTest, TestCheckFile)
|
||||
{
|
||||
EXPECT_TRUE(file.isFile());
|
||||
EXPECT_FALSE(dir.isFile());
|
||||
|
||||
std::string path = tmp.filePath();
|
||||
Base::FileInfo file2(path + "/file2");
|
||||
EXPECT_TRUE(file2.isFile());
|
||||
}
|
||||
|
||||
TEST_F(FileInfoTest, TestCheckDirectory)
|
||||
{
|
||||
EXPECT_FALSE(file.isDir());
|
||||
EXPECT_TRUE(dir.isDir());
|
||||
|
||||
std::string path = tmp.filePath();
|
||||
Base::FileInfo file2(path + "/file2");
|
||||
EXPECT_FALSE(file2.isDir());
|
||||
}
|
||||
|
||||
TEST_F(FileInfoTest, TestSize)
|
||||
{
|
||||
EXPECT_EQ(file.size(), 5);
|
||||
}
|
||||
|
||||
TEST_F(FileInfoTest, TestLastModified)
|
||||
{
|
||||
EXPECT_FALSE(file.lastModified().isNull());
|
||||
|
||||
std::string path = tmp.filePath();
|
||||
Base::FileInfo nofile(path + "/nofile.txt");
|
||||
EXPECT_TRUE(nofile.lastModified().isNull());
|
||||
}
|
||||
|
||||
TEST_F(FileInfoTest, TestDeleteFile)
|
||||
{
|
||||
std::string path = tmp.filePath();
|
||||
Base::FileInfo file2(path + "/nofile.txt");
|
||||
EXPECT_FALSE(file2.deleteFile());
|
||||
}
|
||||
|
||||
TEST_F(FileInfoTest, TestRenameFile)
|
||||
{
|
||||
std::string path = tmp.filePath();
|
||||
Base::FileInfo file2(path + "/file2");
|
||||
EXPECT_FALSE(file2.renameFile((path + "/file3").c_str()));
|
||||
EXPECT_TRUE(file.renameFile((path + "/file2").c_str()));
|
||||
}
|
||||
|
||||
TEST_F(FileInfoTest, TestCopyFile)
|
||||
{
|
||||
std::string path = tmp.filePath();
|
||||
Base::FileInfo copy(path + "/copy.txt");
|
||||
EXPECT_TRUE(file.copyTo(copy.filePath().c_str()));
|
||||
EXPECT_TRUE(copy.deleteFile());
|
||||
}
|
||||
Reference in New Issue
Block a user