| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/files/file_proxy.h" | 5 #include "base/files/file_proxy.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 200 | 200 |
| 201 // Make sure the written data can be read from the returned path. | 201 // Make sure the written data can be read from the returned path. |
| 202 std::string data; | 202 std::string data; |
| 203 EXPECT_TRUE(ReadFileToString(path_, &data)); | 203 EXPECT_TRUE(ReadFileToString(path_, &data)); |
| 204 EXPECT_EQ("test", data); | 204 EXPECT_EQ("test", data); |
| 205 | 205 |
| 206 // Make sure we can & do delete the created file to prevent leaks on the bots. | 206 // Make sure we can & do delete the created file to prevent leaks on the bots. |
| 207 EXPECT_TRUE(base::DeleteFile(path_, false)); | 207 EXPECT_TRUE(base::DeleteFile(path_, false)); |
| 208 } | 208 } |
| 209 | 209 |
| 210 TEST_F(FileProxyTest, SetAndTake) { |
| 211 File file(test_path(), File::FLAG_CREATE | File::FLAG_READ); |
| 212 ASSERT_TRUE(file.IsValid()); |
| 213 FileProxy proxy(file_task_runner()); |
| 214 EXPECT_FALSE(proxy.IsValid()); |
| 215 proxy.SetFile(file.Pass()); |
| 216 EXPECT_TRUE(proxy.IsValid()); |
| 217 EXPECT_FALSE(file.IsValid()); |
| 218 |
| 219 file = proxy.TakeFile(); |
| 220 EXPECT_FALSE(proxy.IsValid()); |
| 221 EXPECT_TRUE(file.IsValid()); |
| 222 } |
| 223 |
| 210 TEST_F(FileProxyTest, GetInfo) { | 224 TEST_F(FileProxyTest, GetInfo) { |
| 211 // Setup. | 225 // Setup. |
| 212 ASSERT_EQ(4, base::WriteFile(test_path(), "test", 4)); | 226 ASSERT_EQ(4, base::WriteFile(test_path(), "test", 4)); |
| 213 File::Info expected_info; | 227 File::Info expected_info; |
| 214 GetFileInfo(test_path(), &expected_info); | 228 GetFileInfo(test_path(), &expected_info); |
| 215 | 229 |
| 216 // Run. | 230 // Run. |
| 217 FileProxy proxy(file_task_runner()); | 231 FileProxy proxy(file_task_runner()); |
| 218 CreateProxy(File::FLAG_OPEN | File::FLAG_READ, &proxy); | 232 CreateProxy(File::FLAG_OPEN | File::FLAG_READ, &proxy); |
| 219 proxy.GetInfo( | 233 proxy.GetInfo( |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 350 char buffer[53]; | 364 char buffer[53]; |
| 351 EXPECT_EQ(53, base::ReadFile(test_path(), buffer, 53)); | 365 EXPECT_EQ(53, base::ReadFile(test_path(), buffer, 53)); |
| 352 int i = 0; | 366 int i = 0; |
| 353 for (; i < 10; ++i) | 367 for (; i < 10; ++i) |
| 354 EXPECT_EQ(kTestData[i], buffer[i]); | 368 EXPECT_EQ(kTestData[i], buffer[i]); |
| 355 for (; i < 53; ++i) | 369 for (; i < 53; ++i) |
| 356 EXPECT_EQ(0, buffer[i]); | 370 EXPECT_EQ(0, buffer[i]); |
| 357 } | 371 } |
| 358 | 372 |
| 359 } // namespace base | 373 } // namespace base |
| OLD | NEW |