#include "util/atomic_write.h"
#include <string>
#include "base/files/file_util.h"
#include "base/files/scoped_temp_dir.h"
#include "util/test/test.h"
class ImportantFileWriterTest : public testing::Test {
public:
ImportantFileWriterTest() = default;
void SetUp() override {
ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
file_ = temp_dir_.GetPath().AppendASCII("test-file");
}
protected:
base::FilePath file_;
private:
base::ScopedTempDir temp_dir_;
};
TEST_F(ImportantFileWriterTest, Basic) {
const std::string data = "Test string for writing.";
EXPECT_FALSE(base::PathExists(file_));
EXPECT_TRUE(util::WriteFileAtomically(file_, data.data(), data.size()));
std::string actual;
EXPECT_TRUE(ReadFileToString(file_, &actual));
EXPECT_EQ(data, actual);
}