summaryrefslogtreecommitdiffhomepage
path: root/tests/test-file.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-file.cpp')
-rw-r--r--tests/test-file.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/test-file.cpp b/tests/test-file.cpp
index 7c3b752..a175858 100644
--- a/tests/test-file.cpp
+++ b/tests/test-file.cpp
@@ -53,3 +53,48 @@ TEST_F(FileTest, getFile_proc)
EXPECT_GT(s.size(), 0);
}
+
+TEST_F(FileTest, getFile_not_found)
+{
+ EXPECT_THROW({Reichwein::File::getFile(testFilename);}, std::runtime_error);
+}
+
+TEST_F(FileTest, setFile)
+{
+ Reichwein::File::setFile(testFilename, std::string("abc"));
+
+ std::ifstream f(testFilename, std::ios::binary);
+ std::string s{" "};
+ EXPECT_EQ(f.readsome(s.data(), s.size()), static_cast<std::streamsize>(3));
+ EXPECT_EQ(s, "abc ");
+}
+
+TEST_F(FileTest, setFile_ptr)
+{
+ std::string s{"abc"};
+ Reichwein::File::setFile(testFilename, s.data(), s.size());
+
+ EXPECT_EQ(Reichwein::File::getFile(testFilename), "abc");
+}
+
+TEST_F(FileTest, setFile_vector)
+{
+ std::vector<uint8_t> v{1, 2, 3, 4};
+ Reichwein::File::setFile(testFilename, v);
+
+ EXPECT_EQ(Reichwein::File::getFile(testFilename), "\x01\x02\x03\x04");
+}
+
+TEST_F(FileTest, setFile_overwrite)
+{
+ Reichwein::File::setFile(testFilename, std::string("abc"));
+ Reichwein::File::setFile(testFilename, std::string("def"));
+
+ EXPECT_EQ(Reichwein::File::getFile(testFilename), "def");
+}
+
+TEST_F(FileTest, setFile_nonexisting_dir)
+{
+ EXPECT_THROW({Reichwein::File::setFile(testFilename/testFilename, "abc");}, std::runtime_error);
+}
+