| // Copyright 2020 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "gn/file_writer.h" |
| |
| #include "base/files/file_path.h" |
| #include "base/files/scoped_temp_dir.h" |
| #include "gn/filesystem_utils.h" |
| |
| #include "util/test/test.h" |
| |
| TEST(FileWriter, SingleWrite) { |
| base::ScopedTempDir temp_dir; |
| ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
| |
| std::string data = "foo"; |
| |
| base::FilePath file_path = temp_dir.GetPath().AppendASCII("foo.txt"); |
| |
| FileWriter writer; |
| EXPECT_TRUE(writer.Create(file_path)); |
| EXPECT_TRUE(writer.Write(data)); |
| EXPECT_TRUE(writer.Close()); |
| |
| EXPECT_TRUE(ContentsEqual(file_path, data)); |
| } |
| |
| TEST(FileWriter, MultipleWrites) { |
| base::ScopedTempDir temp_dir; |
| ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
| |
| std::string data = "Hello World!"; |
| |
| base::FilePath file_path = temp_dir.GetPath().AppendASCII("foo.txt"); |
| |
| FileWriter writer; |
| EXPECT_TRUE(writer.Create(file_path)); |
| EXPECT_TRUE(writer.Write("Hello ")); |
| EXPECT_TRUE(writer.Write("World!")); |
| EXPECT_TRUE(writer.Close()); |
| |
| EXPECT_TRUE(ContentsEqual(file_path, data)); |
| } |