Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Side by Side Diff: webkit/fileapi/file_writer_delegate_unittest.cc

Issue 10956064: Send OnModifyFile Notification when File Write Finishes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed typo from last upload Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <string> 5 #include <string>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 13 matching lines...) Expand all
24 24
25 namespace fileapi { 25 namespace fileapi {
26 26
27 namespace { 27 namespace {
28 28
29 class Result { 29 class Result {
30 public: 30 public:
31 Result() 31 Result()
32 : status_(base::PLATFORM_FILE_OK), 32 : status_(base::PLATFORM_FILE_OK),
33 bytes_written_(0), 33 bytes_written_(0),
34 complete_(false) {} 34 write_status_(FileWriterDelegate::SUCCESS_IO_PENDING) {}
35 35
36 base::PlatformFileError status() const { return status_; } 36 base::PlatformFileError status() const { return status_; }
37 void add_bytes_written(int64 bytes, bool complete) {
38 bytes_written_ += bytes;
39 EXPECT_FALSE(complete_);
40 complete_ = complete;
41 }
42 int64 bytes_written() const { return bytes_written_; } 37 int64 bytes_written() const { return bytes_written_; }
43 bool complete() const { return complete_; } 38 bool write_status() const { return write_status_; }
kinuko 2012/09/26 06:31:15 should this return WriteProgressStatus?
calvinlo 2012/09/26 07:43:40 Done.
44 39
45 void DidWrite(base::PlatformFileError status, int64 bytes, bool complete) { 40 void DidWrite(base::PlatformFileError status, int64 bytes,
41 FileWriterDelegate::WriteProgressStatus write_status) {
42 write_status_ = write_status;
46 if (status == base::PLATFORM_FILE_OK) { 43 if (status == base::PLATFORM_FILE_OK) {
47 add_bytes_written(bytes, complete); 44 bytes_written_ += bytes;
48 if (complete) 45 if (write_status_ != FileWriterDelegate::SUCCESS_IO_PENDING)
49 MessageLoop::current()->Quit(); 46 MessageLoop::current()->Quit();
50 } else { 47 } else {
51 EXPECT_FALSE(complete_); 48 EXPECT_EQ(base::PLATFORM_FILE_OK, status_);
52 EXPECT_EQ(status_, base::PLATFORM_FILE_OK);
53 complete_ = true;
54 status_ = status; 49 status_ = status;
55 MessageLoop::current()->Quit(); 50 MessageLoop::current()->Quit();
56 } 51 }
57 } 52 }
58 53
59 private: 54 private:
60 // For post-operation status. 55 // For post-operation status.
61 base::PlatformFileError status_; 56 base::PlatformFileError status_;
62 int64 bytes_written_; 57 int64 bytes_written_;
63 bool complete_; 58 FileWriterDelegate::WriteProgressStatus write_status_;
64 }; 59 };
65 60
66 const char kData[] = "The quick brown fox jumps over the lazy dog.\n"; 61 const char kData[] = "The quick brown fox jumps over the lazy dog.\n";
67 const int kDataSize = ARRAYSIZE_UNSAFE(kData) - 1; 62 const int kDataSize = ARRAYSIZE_UNSAFE(kData) - 1;
68 63
69 } // namespace (anonymous) 64 } // namespace (anonymous)
70 65
71 class FileWriterDelegateTest : public PlatformTest { 66 class FileWriterDelegateTest : public PlatformTest {
72 public: 67 public:
73 FileWriterDelegateTest() 68 FileWriterDelegateTest()
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 TEST_F(FileWriterDelegateTest, MAYBE_WriteSuccessWithoutQuotaLimit) { 225 TEST_F(FileWriterDelegateTest, MAYBE_WriteSuccessWithoutQuotaLimit) {
231 const GURL kBlobURL("blob:nolimit"); 226 const GURL kBlobURL("blob:nolimit");
232 content_ = kData; 227 content_ = kData;
233 228
234 PrepareForWrite(kBlobURL, 0, quota::QuotaManager::kNoLimit); 229 PrepareForWrite(kBlobURL, 0, quota::QuotaManager::kNoLimit);
235 230
236 ASSERT_EQ(0, test_helper_.GetCachedOriginUsage()); 231 ASSERT_EQ(0, test_helper_.GetCachedOriginUsage());
237 file_writer_delegate_->Start(request_.Pass()); 232 file_writer_delegate_->Start(request_.Pass());
238 MessageLoop::current()->Run(); 233 MessageLoop::current()->Run();
239 234
240 ASSERT_TRUE(result_->complete()); 235 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result_->write_status());
241 file_writer_delegate_.reset(); 236 file_writer_delegate_.reset();
242 237
243 ASSERT_EQ(kDataSize, test_helper_.GetCachedOriginUsage()); 238 ASSERT_EQ(kDataSize, test_helper_.GetCachedOriginUsage());
244 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage()); 239 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage());
245 EXPECT_EQ(kDataSize, result_->bytes_written()); 240 EXPECT_EQ(kDataSize, result_->bytes_written());
246 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); 241 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status());
247 } 242 }
248 243
249 // FileWriterDelegateTest.WriteSuccessWithJustQuota is flaky on windows 244 // FileWriterDelegateTest.WriteSuccessWithJustQuota is flaky on windows
250 // http://crbug.com/130401 245 // http://crbug.com/130401
251 #if defined(OS_WIN) 246 #if defined(OS_WIN)
252 #define MAYBE_WriteSuccessWithJustQuota DISABLED_WriteSuccessWithJustQuota 247 #define MAYBE_WriteSuccessWithJustQuota DISABLED_WriteSuccessWithJustQuota
253 #else 248 #else
254 #define MAYBE_WriteSuccessWithJustQuota WriteSuccessWithJustQuota 249 #define MAYBE_WriteSuccessWithJustQuota WriteSuccessWithJustQuota
255 #endif 250 #endif
256 251
257 TEST_F(FileWriterDelegateTest, MAYBE_WriteSuccessWithJustQuota) { 252 TEST_F(FileWriterDelegateTest, MAYBE_WriteSuccessWithJustQuota) {
258 const GURL kBlobURL("blob:just"); 253 const GURL kBlobURL("blob:just");
259 content_ = kData; 254 content_ = kData;
260 const int64 kAllowedGrowth = kDataSize; 255 const int64 kAllowedGrowth = kDataSize;
261 PrepareForWrite(kBlobURL, 0, kAllowedGrowth); 256 PrepareForWrite(kBlobURL, 0, kAllowedGrowth);
262 257
263 ASSERT_EQ(0, test_helper_.GetCachedOriginUsage()); 258 ASSERT_EQ(0, test_helper_.GetCachedOriginUsage());
264 file_writer_delegate_->Start(request_.Pass()); 259 file_writer_delegate_->Start(request_.Pass());
265 MessageLoop::current()->Run(); 260 MessageLoop::current()->Run();
266 ASSERT_TRUE(result_->complete()); 261 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result_->write_status());
267 file_writer_delegate_.reset(); 262 file_writer_delegate_.reset();
268 263
269 ASSERT_EQ(kAllowedGrowth, test_helper_.GetCachedOriginUsage()); 264 ASSERT_EQ(kAllowedGrowth, test_helper_.GetCachedOriginUsage());
270 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage()); 265 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage());
271 266
272 EXPECT_EQ(kAllowedGrowth, result_->bytes_written()); 267 EXPECT_EQ(kAllowedGrowth, result_->bytes_written());
273 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); 268 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status());
274 } 269 }
275 270
276 TEST_F(FileWriterDelegateTest, DISABLED_WriteFailureByQuota) { 271 TEST_F(FileWriterDelegateTest, DISABLED_WriteFailureByQuota) {
277 const GURL kBlobURL("blob:failure"); 272 const GURL kBlobURL("blob:failure");
278 content_ = kData; 273 content_ = kData;
279 const int64 kAllowedGrowth = kDataSize - 1; 274 const int64 kAllowedGrowth = kDataSize - 1;
280 PrepareForWrite(kBlobURL, 0, kAllowedGrowth); 275 PrepareForWrite(kBlobURL, 0, kAllowedGrowth);
281 276
282 ASSERT_EQ(0, test_helper_.GetCachedOriginUsage()); 277 ASSERT_EQ(0, test_helper_.GetCachedOriginUsage());
283 file_writer_delegate_->Start(request_.Pass()); 278 file_writer_delegate_->Start(request_.Pass());
284 MessageLoop::current()->Run(); 279 MessageLoop::current()->Run();
285 ASSERT_TRUE(result_->complete()); 280 ASSERT_EQ(FileWriterDelegate::ERROR_WRITE_STARTED, result_->write_status());
286 file_writer_delegate_.reset(); 281 file_writer_delegate_.reset();
287 282
288 ASSERT_EQ(kAllowedGrowth, test_helper_.GetCachedOriginUsage()); 283 ASSERT_EQ(kAllowedGrowth, test_helper_.GetCachedOriginUsage());
289 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage()); 284 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage());
290 285
291 EXPECT_EQ(kAllowedGrowth, result_->bytes_written()); 286 EXPECT_EQ(kAllowedGrowth, result_->bytes_written());
292 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE, result_->status()); 287 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE, result_->status());
293 EXPECT_TRUE(result_->complete()); 288 ASSERT_EQ(FileWriterDelegate::ERROR_WRITE_STARTED, result_->write_status());
294 } 289 }
295 290
296 TEST_F(FileWriterDelegateTest, WriteZeroBytesSuccessfullyWithZeroQuota) { 291 TEST_F(FileWriterDelegateTest, WriteZeroBytesSuccessfullyWithZeroQuota) {
297 const GURL kBlobURL("blob:zero"); 292 const GURL kBlobURL("blob:zero");
298 content_ = ""; 293 content_ = "";
299 int64 kAllowedGrowth = 0; 294 int64 kAllowedGrowth = 0;
300 PrepareForWrite(kBlobURL, 0, kAllowedGrowth); 295 PrepareForWrite(kBlobURL, 0, kAllowedGrowth);
301 296
302 ASSERT_EQ(0, test_helper_.GetCachedOriginUsage()); 297 ASSERT_EQ(0, test_helper_.GetCachedOriginUsage());
303 file_writer_delegate_->Start(request_.Pass()); 298 file_writer_delegate_->Start(request_.Pass());
304 MessageLoop::current()->Run(); 299 MessageLoop::current()->Run();
305 ASSERT_TRUE(result_->complete()); 300 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result_->write_status());
306 file_writer_delegate_.reset(); 301 file_writer_delegate_.reset();
307 302
308 ASSERT_EQ(kAllowedGrowth, test_helper_.GetCachedOriginUsage()); 303 ASSERT_EQ(kAllowedGrowth, test_helper_.GetCachedOriginUsage());
309 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage()); 304 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage());
310 305
311 EXPECT_EQ(kAllowedGrowth, result_->bytes_written()); 306 EXPECT_EQ(kAllowedGrowth, result_->bytes_written());
312 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); 307 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status());
313 EXPECT_TRUE(result_->complete()); 308 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result_->write_status());
314 } 309 }
315 310
316 #if defined(OS_WIN) 311 #if defined(OS_WIN)
317 // See http://crbug.com/129264 312 // See http://crbug.com/129264
318 #define MAYBE_WriteSuccessWithoutQuotaLimitConcurrent \ 313 #define MAYBE_WriteSuccessWithoutQuotaLimitConcurrent \
319 DISABLED_WriteSuccessWithoutQuotaLimitConcurrent 314 DISABLED_WriteSuccessWithoutQuotaLimitConcurrent
320 #else 315 #else
321 #define MAYBE_WriteSuccessWithoutQuotaLimitConcurrent \ 316 #define MAYBE_WriteSuccessWithoutQuotaLimitConcurrent \
322 WriteSuccessWithoutQuotaLimitConcurrent 317 WriteSuccessWithoutQuotaLimitConcurrent
323 #endif 318 #endif
(...skipping 21 matching lines...) Expand all
345 result2.reset(new Result()); 340 result2.reset(new Result());
346 file_writer_delegate2.reset(CreateWriterDelegate( 341 file_writer_delegate2.reset(CreateWriterDelegate(
347 "test2", 0, quota::QuotaManager::kNoLimit, result2.get())); 342 "test2", 0, quota::QuotaManager::kNoLimit, result2.get()));
348 request2.reset(empty_context_.CreateRequest( 343 request2.reset(empty_context_.CreateRequest(
349 kBlobURL2, file_writer_delegate2.get())); 344 kBlobURL2, file_writer_delegate2.get()));
350 345
351 ASSERT_EQ(0, test_helper_.GetCachedOriginUsage()); 346 ASSERT_EQ(0, test_helper_.GetCachedOriginUsage());
352 file_writer_delegate_->Start(request_.Pass()); 347 file_writer_delegate_->Start(request_.Pass());
353 file_writer_delegate2->Start(request2.Pass()); 348 file_writer_delegate2->Start(request2.Pass());
354 MessageLoop::current()->Run(); 349 MessageLoop::current()->Run();
355 if (!result_->complete() || !result2->complete()) 350 if (result_->write_status() == FileWriterDelegate::SUCCESS_IO_PENDING ||
351 result2->write_status() == FileWriterDelegate::SUCCESS_IO_PENDING)
356 MessageLoop::current()->Run(); 352 MessageLoop::current()->Run();
357 353
358 ASSERT_TRUE(result_->complete()); 354 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result_->write_status());
359 ASSERT_TRUE(result2->complete()); 355 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result2->write_status());
360 file_writer_delegate_.reset(); 356 file_writer_delegate_.reset();
361 file_writer_delegate2.reset(); 357 file_writer_delegate2.reset();
362 358
363 ASSERT_EQ(kDataSize * 2, test_helper_.GetCachedOriginUsage()); 359 ASSERT_EQ(kDataSize * 2, test_helper_.GetCachedOriginUsage());
364 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage()); 360 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage());
365 361
366 EXPECT_EQ(kDataSize, result_->bytes_written()); 362 EXPECT_EQ(kDataSize, result_->bytes_written());
367 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); 363 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status());
368 EXPECT_EQ(kDataSize, result2->bytes_written()); 364 EXPECT_EQ(kDataSize, result2->bytes_written());
369 EXPECT_EQ(base::PLATFORM_FILE_OK, result2->status()); 365 EXPECT_EQ(base::PLATFORM_FILE_OK, result2->status());
(...skipping 14 matching lines...) Expand all
384 380
385 // Writing kDataSize (=45) bytes data while allowed_growth is 100. 381 // Writing kDataSize (=45) bytes data while allowed_growth is 100.
386 int64 offset = 0; 382 int64 offset = 0;
387 int64 allowed_growth = 100; 383 int64 allowed_growth = 100;
388 ASSERT_LT(kDataSize, allowed_growth); 384 ASSERT_LT(kDataSize, allowed_growth);
389 PrepareForWrite(kBlobURL, offset, allowed_growth); 385 PrepareForWrite(kBlobURL, offset, allowed_growth);
390 386
391 ASSERT_EQ(0, test_helper_.GetCachedOriginUsage()); 387 ASSERT_EQ(0, test_helper_.GetCachedOriginUsage());
392 file_writer_delegate_->Start(request_.Pass()); 388 file_writer_delegate_->Start(request_.Pass());
393 MessageLoop::current()->Run(); 389 MessageLoop::current()->Run();
394 ASSERT_TRUE(result_->complete()); 390 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result_->write_status());
395 file_writer_delegate_.reset(); 391 file_writer_delegate_.reset();
396 392
397 ASSERT_EQ(kDataSize, test_helper_.GetCachedOriginUsage()); 393 ASSERT_EQ(kDataSize, test_helper_.GetCachedOriginUsage());
398 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage()); 394 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage());
399 EXPECT_EQ(kDataSize, result_->bytes_written()); 395 EXPECT_EQ(kDataSize, result_->bytes_written());
400 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); 396 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status());
401 397
402 // Trying to overwrite kDataSize bytes data while allowed_growth is 20. 398 // Trying to overwrite kDataSize bytes data while allowed_growth is 20.
403 offset = 0; 399 offset = 0;
404 allowed_growth = 20; 400 allowed_growth = 20;
405 PrepareForWrite(kBlobURL, offset, allowed_growth); 401 PrepareForWrite(kBlobURL, offset, allowed_growth);
406 402
407 file_writer_delegate_->Start(request_.Pass()); 403 file_writer_delegate_->Start(request_.Pass());
408 MessageLoop::current()->Run(); 404 MessageLoop::current()->Run();
409 EXPECT_EQ(kDataSize, test_helper_.GetCachedOriginUsage()); 405 EXPECT_EQ(kDataSize, test_helper_.GetCachedOriginUsage());
410 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage()); 406 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage());
411 EXPECT_EQ(kDataSize, result_->bytes_written()); 407 EXPECT_EQ(kDataSize, result_->bytes_written());
412 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); 408 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status());
413 EXPECT_TRUE(result_->complete()); 409 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result_->write_status());
414 410
415 // Trying to write kDataSize bytes data from offset 25 while 411 // Trying to write kDataSize bytes data from offset 25 while
416 // allowed_growth is 55. 412 // allowed_growth is 55.
417 offset = 25; 413 offset = 25;
418 allowed_growth = 55; 414 allowed_growth = 55;
419 PrepareForWrite(kBlobURL, offset, allowed_growth); 415 PrepareForWrite(kBlobURL, offset, allowed_growth);
420 416
421 file_writer_delegate_->Start(request_.Pass()); 417 file_writer_delegate_->Start(request_.Pass());
422 MessageLoop::current()->Run(); 418 MessageLoop::current()->Run();
423 ASSERT_TRUE(result_->complete()); 419 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result_->write_status());
424 file_writer_delegate_.reset(); 420 file_writer_delegate_.reset();
425 421
426 EXPECT_EQ(offset + kDataSize, test_helper_.GetCachedOriginUsage()); 422 EXPECT_EQ(offset + kDataSize, test_helper_.GetCachedOriginUsage());
427 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage()); 423 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage());
428 EXPECT_EQ(kDataSize, result_->bytes_written()); 424 EXPECT_EQ(kDataSize, result_->bytes_written());
429 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); 425 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status());
430 426
431 // Trying to overwrite 45 bytes data while allowed_growth is -20. 427 // Trying to overwrite 45 bytes data while allowed_growth is -20.
432 offset = 0; 428 offset = 0;
433 allowed_growth = -20; 429 allowed_growth = -20;
434 PrepareForWrite(kBlobURL, offset, allowed_growth); 430 PrepareForWrite(kBlobURL, offset, allowed_growth);
435 431
436 int64 pre_write_usage = ComputeCurrentOriginUsage(); 432 int64 pre_write_usage = ComputeCurrentOriginUsage();
437 file_writer_delegate_->Start(request_.Pass()); 433 file_writer_delegate_->Start(request_.Pass());
438 MessageLoop::current()->Run(); 434 MessageLoop::current()->Run();
439 ASSERT_TRUE(result_->complete()); 435 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result_->write_status());
440 file_writer_delegate_.reset(); 436 file_writer_delegate_.reset();
441 437
442 EXPECT_EQ(pre_write_usage, test_helper_.GetCachedOriginUsage()); 438 EXPECT_EQ(pre_write_usage, test_helper_.GetCachedOriginUsage());
443 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage()); 439 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage());
444 EXPECT_EQ(kDataSize, result_->bytes_written()); 440 EXPECT_EQ(kDataSize, result_->bytes_written());
445 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); 441 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status());
446 442
447 // Trying to overwrite 45 bytes data with offset pre_write_usage - 20, 443 // Trying to overwrite 45 bytes data with offset pre_write_usage - 20,
448 // while allowed_growth is 10. 444 // while allowed_growth is 10.
449 const int kOverlap = 20; 445 const int kOverlap = 20;
450 offset = pre_write_usage - kOverlap; 446 offset = pre_write_usage - kOverlap;
451 allowed_growth = 10; 447 allowed_growth = 10;
452 PrepareForWrite(kBlobURL, offset, allowed_growth); 448 PrepareForWrite(kBlobURL, offset, allowed_growth);
453 449
454 file_writer_delegate_->Start(request_.Pass()); 450 file_writer_delegate_->Start(request_.Pass());
455 MessageLoop::current()->Run(); 451 MessageLoop::current()->Run();
456 ASSERT_TRUE(result_->complete()); 452 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result_->write_status());
457 file_writer_delegate_.reset(); 453 file_writer_delegate_.reset();
458 454
459 EXPECT_EQ(pre_write_usage + allowed_growth, 455 EXPECT_EQ(pre_write_usage + allowed_growth,
460 test_helper_.GetCachedOriginUsage()); 456 test_helper_.GetCachedOriginUsage());
461 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage()); 457 EXPECT_EQ(ComputeCurrentOriginUsage(), test_helper_.GetCachedOriginUsage());
462 EXPECT_EQ(kOverlap + allowed_growth, result_->bytes_written()); 458 EXPECT_EQ(kOverlap + allowed_growth, result_->bytes_written());
463 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE, result_->status()); 459 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE, result_->status());
464 } 460 }
465 461
466 } // namespace fileapi 462 } // namespace fileapi
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698