Prepare /storage/browser/fileapi for TestCompletionCallback with non-repeating callbacks
Make sure that we don't re-use the callbacks from TestCompletionCallback, so that we're prepared for when they become non-repeating callbacks (i.e. base::CompletionOnceCallback), instead of base::CompletionCallback. This CL was uploaded by git cl split. TBR=tzik@chromium.org Bug: 807724 Change-Id: Id1ce48998eeda76b142fc0ec91de903a47411344 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1541113 Commit-Queue: Mario Sanchez Prada <mario@igalia.com> Reviewed-by: Bence Béky <bnc@chromium.org> Auto-Submit: Mario Sanchez Prada <mario@igalia.com> Cr-Commit-Position: refs/heads/master@{#645230}
This commit is contained in:

committed by
Commit Bot

parent
40cd9d78bc
commit
2d99e519dd
@ -21,11 +21,11 @@ void ReadFromReader(FileStreamReader* reader,
|
||||
ASSERT_TRUE(reader != nullptr);
|
||||
ASSERT_TRUE(result != nullptr);
|
||||
*result = net::OK;
|
||||
net::TestCompletionCallback callback;
|
||||
size_t total_bytes_read = 0;
|
||||
while (total_bytes_read < size) {
|
||||
scoped_refptr<net::IOBufferWithSize> buf(
|
||||
base::MakeRefCounted<net::IOBufferWithSize>(size - total_bytes_read));
|
||||
net::TestCompletionCallback callback;
|
||||
int rv = reader->Read(buf.get(), buf->size(), callback.callback());
|
||||
if (rv == net::ERR_IO_PENDING)
|
||||
rv = callback.WaitForResult();
|
||||
|
@ -169,17 +169,18 @@ TEST_F(FileSystemFileStreamReaderTest, GetLengthAfterModified) {
|
||||
|
||||
std::unique_ptr<FileSystemFileStreamReader> reader(
|
||||
CreateFileReader(kTestFileName, 0, fake_expected_modification_time));
|
||||
net::TestInt64CompletionCallback callback;
|
||||
int64_t result = reader->GetLength(callback.callback());
|
||||
net::TestInt64CompletionCallback callback1;
|
||||
int64_t result = reader->GetLength(callback1.callback());
|
||||
if (result == net::ERR_IO_PENDING)
|
||||
result = callback.WaitForResult();
|
||||
result = callback1.WaitForResult();
|
||||
ASSERT_EQ(net::ERR_UPLOAD_FILE_CHANGED, result);
|
||||
|
||||
// With nullptr expected modification time this should work.
|
||||
reader.reset(CreateFileReader(kTestFileName, 0, base::Time()));
|
||||
result = reader->GetLength(callback.callback());
|
||||
net::TestInt64CompletionCallback callback2;
|
||||
result = reader->GetLength(callback2.callback());
|
||||
if (result == net::ERR_IO_PENDING)
|
||||
result = callback.WaitForResult();
|
||||
result = callback2.WaitForResult();
|
||||
ASSERT_EQ(kTestDataSize, result);
|
||||
}
|
||||
|
||||
|
@ -86,10 +86,10 @@ class FileWriterImplTest : public testing::Test {
|
||||
std::unique_ptr<FileStreamReader> reader =
|
||||
file_system_context_->CreateFileStreamReader(
|
||||
url, 0, std::numeric_limits<int64_t>::max(), base::Time());
|
||||
net::TestCompletionCallback callback;
|
||||
std::string result;
|
||||
while (true) {
|
||||
auto buf = base::MakeRefCounted<net::IOBufferWithSize>(4096);
|
||||
net::TestCompletionCallback callback;
|
||||
int rv = reader->Read(buf.get(), buf->size(), callback.callback());
|
||||
if (rv == net::ERR_IO_PENDING)
|
||||
rv = callback.WaitForResult();
|
||||
|
@ -160,17 +160,18 @@ TEST_F(LocalFileStreamReaderTest, GetLengthAfterModified) {
|
||||
|
||||
std::unique_ptr<LocalFileStreamReader> reader(
|
||||
CreateFileReader(test_path(), 0, test_file_modification_time()));
|
||||
net::TestInt64CompletionCallback callback;
|
||||
int64_t result = reader->GetLength(callback.callback());
|
||||
net::TestInt64CompletionCallback callback1;
|
||||
int64_t result = reader->GetLength(callback1.callback());
|
||||
if (result == net::ERR_IO_PENDING)
|
||||
result = callback.WaitForResult();
|
||||
result = callback1.WaitForResult();
|
||||
ASSERT_EQ(net::ERR_UPLOAD_FILE_CHANGED, result);
|
||||
|
||||
// With nullptr expected modification time this should work.
|
||||
reader.reset(CreateFileReader(test_path(), 0, base::Time()));
|
||||
result = reader->GetLength(callback.callback());
|
||||
net::TestInt64CompletionCallback callback2;
|
||||
result = reader->GetLength(callback2.callback());
|
||||
if (result == net::ERR_IO_PENDING)
|
||||
result = callback.WaitForResult();
|
||||
result = callback2.WaitForResult();
|
||||
ASSERT_EQ(kTestDataSize, result);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user