| 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 "chrome/browser/chromeos/file_system_provider/fileapi/file_stream_write
r.h" | 5 #include "chrome/browser/chromeos/file_system_provider/fileapi/file_stream_write
r.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/files/file.h" | 10 #include "base/files/file.h" |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 158 base::FilePath::FromUTF8Unsafe(kFakeFilePath), &entry)); | 158 base::FilePath::FromUTF8Unsafe(kFakeFilePath), &entry)); |
| 159 | 159 |
| 160 // The testing text is written twice. | 160 // The testing text is written twice. |
| 161 const std::string expected_contents = | 161 const std::string expected_contents = |
| 162 std::string(kTextToWrite) + kTextToWrite; | 162 std::string(kTextToWrite) + kTextToWrite; |
| 163 EXPECT_EQ(expected_contents, | 163 EXPECT_EQ(expected_contents, |
| 164 entry.contents.substr(0, expected_contents.size())); | 164 entry.contents.substr(0, expected_contents.size())); |
| 165 } | 165 } |
| 166 } | 166 } |
| 167 | 167 |
| 168 TEST_F(FileSystemProviderFileStreamWriter, Cancel) { |
| 169 std::vector<int> write_log; |
| 170 |
| 171 const int64 initial_offset = 0; |
| 172 FileStreamWriter writer(file_url_, initial_offset); |
| 173 scoped_refptr<net::IOBuffer> io_buffer(new net::StringIOBuffer(kTextToWrite)); |
| 174 |
| 175 const int write_result = writer.Write(io_buffer.get(), |
| 176 sizeof(kTextToWrite) - 1, |
| 177 base::Bind(&LogValue, &write_log)); |
| 178 EXPECT_EQ(net::ERR_IO_PENDING, write_result); |
| 179 |
| 180 std::vector<int> cancel_log; |
| 181 const int cancel_result = writer.Cancel(base::Bind(&LogValue, &cancel_log)); |
| 182 EXPECT_EQ(net::ERR_IO_PENDING, cancel_result); |
| 183 base::RunLoop().RunUntilIdle(); |
| 184 |
| 185 EXPECT_EQ(0u, write_log.size()); |
| 186 ASSERT_EQ(1u, cancel_log.size()); |
| 187 EXPECT_EQ(net::OK, cancel_log[0]); |
| 188 } |
| 189 |
| 168 TEST_F(FileSystemProviderFileStreamWriter, Write_WrongFile) { | 190 TEST_F(FileSystemProviderFileStreamWriter, Write_WrongFile) { |
| 169 std::vector<int> write_log; | 191 std::vector<int> write_log; |
| 170 | 192 |
| 171 const int64 initial_offset = 0; | 193 const int64 initial_offset = 0; |
| 172 FileStreamWriter writer(wrong_file_url_, initial_offset); | 194 FileStreamWriter writer(wrong_file_url_, initial_offset); |
| 173 scoped_refptr<net::IOBuffer> io_buffer(new net::StringIOBuffer(kTextToWrite)); | 195 scoped_refptr<net::IOBuffer> io_buffer(new net::StringIOBuffer(kTextToWrite)); |
| 174 | 196 |
| 175 const int result = writer.Write(io_buffer.get(), | 197 const int result = writer.Write(io_buffer.get(), |
| 176 sizeof(kTextToWrite) - 1, | 198 sizeof(kTextToWrite) - 1, |
| 177 base::Bind(&LogValue, &write_log)); | 199 base::Bind(&LogValue, &write_log)); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 206 | 228 |
| 207 FakeEntry entry_after; | 229 FakeEntry entry_after; |
| 208 ASSERT_TRUE(provided_file_system_->GetEntry( | 230 ASSERT_TRUE(provided_file_system_->GetEntry( |
| 209 base::FilePath::FromUTF8Unsafe(kFakeFilePath), &entry_after)); | 231 base::FilePath::FromUTF8Unsafe(kFakeFilePath), &entry_after)); |
| 210 const std::string expected_contents = entry_before.contents + kTextToWrite; | 232 const std::string expected_contents = entry_before.contents + kTextToWrite; |
| 211 EXPECT_EQ(expected_contents, entry_after.contents); | 233 EXPECT_EQ(expected_contents, entry_after.contents); |
| 212 } | 234 } |
| 213 | 235 |
| 214 } // namespace file_system_provider | 236 } // namespace file_system_provider |
| 215 } // namespace chromeos | 237 } // namespace chromeos |
| OLD | NEW |