| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 // NOTE: These tests are run as part of "unit_tests" (in chrome/test/unit) | 5 // NOTE: These tests are run as part of "unit_tests" (in chrome/test/unit) |
| 6 // rather than as part of test_shell_tests because they rely on being able | 6 // rather than as part of test_shell_tests because they rely on being able |
| 7 // to instantiate a MessageLoop of type TYPE_IO. test_shell_tests uses | 7 // to instantiate a MessageLoop of type TYPE_IO. test_shell_tests uses |
| 8 // TYPE_UI, which URLRequest doesn't allow. | 8 // TYPE_UI, which URLRequest doesn't allow. |
| 9 // | 9 // |
| 10 | 10 |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 104 &created, &error_code); | 104 &created, &error_code); |
| 105 ASSERT_EQ(base::PLATFORM_FILE_OK, error_code); | 105 ASSERT_EQ(base::PLATFORM_FILE_OK, error_code); |
| 106 | 106 |
| 107 result_.reset(new Result()); | 107 result_.reset(new Result()); |
| 108 file_writer_delegate_.reset(new FileWriterDelegate( | 108 file_writer_delegate_.reset(new FileWriterDelegate( |
| 109 CreateNewOperation(result_.get(), allowed_growth), | 109 CreateNewOperation(result_.get(), allowed_growth), |
| 110 offset, base::MessageLoopProxy::CreateForCurrentThread())); | 110 offset, base::MessageLoopProxy::CreateForCurrentThread())); |
| 111 request_.reset(new net::URLRequest(blob_url, file_writer_delegate_.get())); | 111 request_.reset(new net::URLRequest(blob_url, file_writer_delegate_.get())); |
| 112 } | 112 } |
| 113 | 113 |
| 114 int64 GetFileSize() { |
| 115 base::PlatformFileInfo info; |
| 116 bool result = base::GetPlatformFileInfo(file_, &info); |
| 117 EXPECT_EQ(base::PLATFORM_FILE_OK, result); |
| 118 return info.size; |
| 119 } |
| 120 |
| 114 FileSystemOperation* CreateNewOperation(Result* result, int64 quota); | 121 FileSystemOperation* CreateNewOperation(Result* result, int64 quota); |
| 115 | 122 |
| 116 static net::URLRequest::ProtocolFactory Factory; | 123 static net::URLRequest::ProtocolFactory Factory; |
| 117 | 124 |
| 118 scoped_ptr<FileWriterDelegate> file_writer_delegate_; | 125 scoped_ptr<FileWriterDelegate> file_writer_delegate_; |
| 119 scoped_ptr<net::URLRequest> request_; | 126 scoped_ptr<net::URLRequest> request_; |
| 120 scoped_ptr<Result> result_; | 127 scoped_ptr<Result> result_; |
| 121 FileSystemTestOriginHelper test_helper_; | 128 FileSystemTestOriginHelper test_helper_; |
| 122 | 129 |
| 123 MessageLoop loop_; | 130 MessageLoop loop_; |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 242 } | 249 } |
| 243 | 250 |
| 244 TEST_F(FileWriterDelegateTest, WriteSuccessWithoutQuotaLimit) { | 251 TEST_F(FileWriterDelegateTest, WriteSuccessWithoutQuotaLimit) { |
| 245 const GURL kBlobURL("blob:nolimit"); | 252 const GURL kBlobURL("blob:nolimit"); |
| 246 content_ = kData; | 253 content_ = kData; |
| 247 | 254 |
| 248 PrepareForWrite(kBlobURL, 0, QuotaFileUtil::kNoLimit); | 255 PrepareForWrite(kBlobURL, 0, QuotaFileUtil::kNoLimit); |
| 249 | 256 |
| 250 ASSERT_EQ(FileSystemUsageCache::kUsageFileSize, | 257 ASSERT_EQ(FileSystemUsageCache::kUsageFileSize, |
| 251 test_helper_.GetCachedOriginUsage()); | 258 test_helper_.GetCachedOriginUsage()); |
| 252 file_writer_delegate_->Start(file_, request_.get()); | 259 file_writer_delegate_->Start(file_, GetFileSize(), request_.get()); |
| 253 MessageLoop::current()->Run(); | 260 MessageLoop::current()->Run(); |
| 254 ASSERT_EQ(kDataSize + FileSystemUsageCache::kUsageFileSize, | 261 ASSERT_EQ(kDataSize + FileSystemUsageCache::kUsageFileSize, |
| 255 test_helper_.GetCachedOriginUsage()); | 262 test_helper_.GetCachedOriginUsage()); |
| 256 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, | 263 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, |
| 257 test_helper_.GetCachedOriginUsage()); | 264 test_helper_.GetCachedOriginUsage()); |
| 258 | 265 |
| 259 EXPECT_EQ(kDataSize, result_->bytes_written()); | 266 EXPECT_EQ(kDataSize, result_->bytes_written()); |
| 260 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); | 267 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); |
| 261 EXPECT_TRUE(result_->complete()); | 268 EXPECT_TRUE(result_->complete()); |
| 262 | 269 |
| 263 file_writer_delegate_.reset(); | 270 file_writer_delegate_.reset(); |
| 264 } | 271 } |
| 265 | 272 |
| 266 TEST_F(FileWriterDelegateTest, WriteSuccessWithJustQuota) { | 273 TEST_F(FileWriterDelegateTest, WriteSuccessWithJustQuota) { |
| 267 const GURL kBlobURL("blob:just"); | 274 const GURL kBlobURL("blob:just"); |
| 268 content_ = kData; | 275 content_ = kData; |
| 269 const int64 kAllowedGrowth = kDataSize; | 276 const int64 kAllowedGrowth = kDataSize; |
| 270 PrepareForWrite(kBlobURL, 0, kAllowedGrowth); | 277 PrepareForWrite(kBlobURL, 0, kAllowedGrowth); |
| 271 | 278 |
| 272 ASSERT_EQ(FileSystemUsageCache::kUsageFileSize, | 279 ASSERT_EQ(FileSystemUsageCache::kUsageFileSize, |
| 273 test_helper_.GetCachedOriginUsage()); | 280 test_helper_.GetCachedOriginUsage()); |
| 274 file_writer_delegate_->Start(file_, request_.get()); | 281 file_writer_delegate_->Start(file_, GetFileSize(), request_.get()); |
| 275 MessageLoop::current()->Run(); | 282 MessageLoop::current()->Run(); |
| 276 ASSERT_EQ(kAllowedGrowth + FileSystemUsageCache::kUsageFileSize, | 283 ASSERT_EQ(kAllowedGrowth + FileSystemUsageCache::kUsageFileSize, |
| 277 test_helper_.GetCachedOriginUsage()); | 284 test_helper_.GetCachedOriginUsage()); |
| 278 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, | 285 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, |
| 279 test_helper_.GetCachedOriginUsage()); | 286 test_helper_.GetCachedOriginUsage()); |
| 280 | 287 |
| 281 file_writer_delegate_.reset(); | 288 file_writer_delegate_.reset(); |
| 282 | 289 |
| 283 EXPECT_EQ(kAllowedGrowth, result_->bytes_written()); | 290 EXPECT_EQ(kAllowedGrowth, result_->bytes_written()); |
| 284 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); | 291 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); |
| 285 EXPECT_TRUE(result_->complete()); | 292 EXPECT_TRUE(result_->complete()); |
| 286 } | 293 } |
| 287 | 294 |
| 288 TEST_F(FileWriterDelegateTest, WriteFailureByQuota) { | 295 TEST_F(FileWriterDelegateTest, WriteFailureByQuota) { |
| 289 const GURL kBlobURL("blob:failure"); | 296 const GURL kBlobURL("blob:failure"); |
| 290 content_ = kData; | 297 content_ = kData; |
| 291 const int64 kAllowedGrowth = kDataSize - 1; | 298 const int64 kAllowedGrowth = kDataSize - 1; |
| 292 PrepareForWrite(kBlobURL, 0, kAllowedGrowth); | 299 PrepareForWrite(kBlobURL, 0, kAllowedGrowth); |
| 293 | 300 |
| 294 ASSERT_EQ(FileSystemUsageCache::kUsageFileSize, | 301 ASSERT_EQ(FileSystemUsageCache::kUsageFileSize, |
| 295 test_helper_.GetCachedOriginUsage()); | 302 test_helper_.GetCachedOriginUsage()); |
| 296 file_writer_delegate_->Start(file_, request_.get()); | 303 file_writer_delegate_->Start(file_, GetFileSize(), request_.get()); |
| 297 MessageLoop::current()->Run(); | 304 MessageLoop::current()->Run(); |
| 298 ASSERT_EQ(kAllowedGrowth + FileSystemUsageCache::kUsageFileSize, | 305 ASSERT_EQ(kAllowedGrowth + FileSystemUsageCache::kUsageFileSize, |
| 299 test_helper_.GetCachedOriginUsage()); | 306 test_helper_.GetCachedOriginUsage()); |
| 300 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, | 307 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, |
| 301 test_helper_.GetCachedOriginUsage()); | 308 test_helper_.GetCachedOriginUsage()); |
| 302 | 309 |
| 303 file_writer_delegate_.reset(); | 310 file_writer_delegate_.reset(); |
| 304 | 311 |
| 305 EXPECT_EQ(kAllowedGrowth, result_->bytes_written()); | 312 EXPECT_EQ(kAllowedGrowth, result_->bytes_written()); |
| 306 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE, result_->status()); | 313 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE, result_->status()); |
| 307 EXPECT_TRUE(result_->complete()); | 314 EXPECT_TRUE(result_->complete()); |
| 308 } | 315 } |
| 309 | 316 |
| 310 TEST_F(FileWriterDelegateTest, WriteZeroBytesSuccessfullyWithZeroQuota) { | 317 TEST_F(FileWriterDelegateTest, WriteZeroBytesSuccessfullyWithZeroQuota) { |
| 311 const GURL kBlobURL("blob:zero"); | 318 const GURL kBlobURL("blob:zero"); |
| 312 content_ = ""; | 319 content_ = ""; |
| 313 int64 kAllowedGrowth = 0; | 320 int64 kAllowedGrowth = 0; |
| 314 PrepareForWrite(kBlobURL, 0, kAllowedGrowth); | 321 PrepareForWrite(kBlobURL, 0, kAllowedGrowth); |
| 315 | 322 |
| 316 ASSERT_EQ(FileSystemUsageCache::kUsageFileSize, | 323 ASSERT_EQ(FileSystemUsageCache::kUsageFileSize, |
| 317 test_helper_.GetCachedOriginUsage()); | 324 test_helper_.GetCachedOriginUsage()); |
| 318 file_writer_delegate_->Start(file_, request_.get()); | 325 file_writer_delegate_->Start(file_, GetFileSize(), request_.get()); |
| 319 MessageLoop::current()->Run(); | 326 MessageLoop::current()->Run(); |
| 320 ASSERT_EQ(kAllowedGrowth + FileSystemUsageCache::kUsageFileSize, | 327 ASSERT_EQ(kAllowedGrowth + FileSystemUsageCache::kUsageFileSize, |
| 321 test_helper_.GetCachedOriginUsage()); | 328 test_helper_.GetCachedOriginUsage()); |
| 322 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, | 329 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, |
| 323 test_helper_.GetCachedOriginUsage()); | 330 test_helper_.GetCachedOriginUsage()); |
| 324 | 331 |
| 325 file_writer_delegate_.reset(); | 332 file_writer_delegate_.reset(); |
| 326 | 333 |
| 327 EXPECT_EQ(kAllowedGrowth, result_->bytes_written()); | 334 EXPECT_EQ(kAllowedGrowth, result_->bytes_written()); |
| 328 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); | 335 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 355 | 362 |
| 356 // Credate another FileWriterDelegate for concurrent write. | 363 // Credate another FileWriterDelegate for concurrent write. |
| 357 result2.reset(new Result()); | 364 result2.reset(new Result()); |
| 358 file_writer_delegate2.reset(new FileWriterDelegate( | 365 file_writer_delegate2.reset(new FileWriterDelegate( |
| 359 CreateNewOperation(result2.get(), QuotaFileUtil::kNoLimit), | 366 CreateNewOperation(result2.get(), QuotaFileUtil::kNoLimit), |
| 360 0, base::MessageLoopProxy::CreateForCurrentThread())); | 367 0, base::MessageLoopProxy::CreateForCurrentThread())); |
| 361 request2.reset(new net::URLRequest(kBlobURL2, file_writer_delegate2.get())); | 368 request2.reset(new net::URLRequest(kBlobURL2, file_writer_delegate2.get())); |
| 362 | 369 |
| 363 ASSERT_EQ(FileSystemUsageCache::kUsageFileSize, | 370 ASSERT_EQ(FileSystemUsageCache::kUsageFileSize, |
| 364 test_helper_.GetCachedOriginUsage()); | 371 test_helper_.GetCachedOriginUsage()); |
| 365 file_writer_delegate_->Start(file_, request_.get()); | 372 file_writer_delegate_->Start(file_, GetFileSize(), request_.get()); |
| 366 file_writer_delegate2->Start(file2, request2.get()); | 373 file_writer_delegate2->Start(file2, GetFileSize(), request2.get()); |
| 367 MessageLoop::current()->Run(); | 374 MessageLoop::current()->Run(); |
| 368 if (!result_->complete() || !result2->complete()) | 375 if (!result_->complete() || !result2->complete()) |
| 369 MessageLoop::current()->Run(); | 376 MessageLoop::current()->Run(); |
| 370 | 377 |
| 371 ASSERT_EQ(kDataSize * 2 + FileSystemUsageCache::kUsageFileSize, | 378 ASSERT_EQ(kDataSize * 2 + FileSystemUsageCache::kUsageFileSize, |
| 372 test_helper_.GetCachedOriginUsage()); | 379 test_helper_.GetCachedOriginUsage()); |
| 373 base::FlushPlatformFile(file2); | 380 base::FlushPlatformFile(file2); |
| 374 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, | 381 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, |
| 375 test_helper_.GetCachedOriginUsage()); | 382 test_helper_.GetCachedOriginUsage()); |
| 376 | 383 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 391 content_ = kData; | 398 content_ = kData; |
| 392 | 399 |
| 393 // Writing kDataSize (=45) bytes data while allowed_growth is 100. | 400 // Writing kDataSize (=45) bytes data while allowed_growth is 100. |
| 394 int64 offset = 0; | 401 int64 offset = 0; |
| 395 int64 allowed_growth = 100; | 402 int64 allowed_growth = 100; |
| 396 ASSERT_LT(kDataSize, allowed_growth); | 403 ASSERT_LT(kDataSize, allowed_growth); |
| 397 PrepareForWrite(kBlobURL, offset, allowed_growth); | 404 PrepareForWrite(kBlobURL, offset, allowed_growth); |
| 398 | 405 |
| 399 ASSERT_EQ(FileSystemUsageCache::kUsageFileSize, | 406 ASSERT_EQ(FileSystemUsageCache::kUsageFileSize, |
| 400 test_helper_.GetCachedOriginUsage()); | 407 test_helper_.GetCachedOriginUsage()); |
| 401 file_writer_delegate_->Start(file_, request_.get()); | 408 file_writer_delegate_->Start(file_, GetFileSize(), request_.get()); |
| 402 MessageLoop::current()->Run(); | 409 MessageLoop::current()->Run(); |
| 403 ASSERT_EQ(kDataSize + FileSystemUsageCache::kUsageFileSize, | 410 ASSERT_EQ(kDataSize + FileSystemUsageCache::kUsageFileSize, |
| 404 test_helper_.GetCachedOriginUsage()); | 411 test_helper_.GetCachedOriginUsage()); |
| 405 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, | 412 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, |
| 406 test_helper_.GetCachedOriginUsage()); | 413 test_helper_.GetCachedOriginUsage()); |
| 407 EXPECT_EQ(kDataSize, result_->bytes_written()); | 414 EXPECT_EQ(kDataSize, result_->bytes_written()); |
| 408 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); | 415 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); |
| 409 EXPECT_TRUE(result_->complete()); | 416 EXPECT_TRUE(result_->complete()); |
| 410 | 417 |
| 411 // Trying to overwrite kDataSize bytes data while allowed_growth is 20. | 418 // Trying to overwrite kDataSize bytes data while allowed_growth is 20. |
| 412 offset = 0; | 419 offset = 0; |
| 413 allowed_growth = 20; | 420 allowed_growth = 20; |
| 414 PrepareForWrite(kBlobURL, offset, allowed_growth); | 421 PrepareForWrite(kBlobURL, offset, allowed_growth); |
| 415 | 422 |
| 416 file_writer_delegate_->Start(file_, request_.get()); | 423 file_writer_delegate_->Start(file_, GetFileSize(), request_.get()); |
| 417 MessageLoop::current()->Run(); | 424 MessageLoop::current()->Run(); |
| 418 EXPECT_EQ(kDataSize + FileSystemUsageCache::kUsageFileSize, | 425 EXPECT_EQ(kDataSize + FileSystemUsageCache::kUsageFileSize, |
| 419 test_helper_.GetCachedOriginUsage()); | 426 test_helper_.GetCachedOriginUsage()); |
| 420 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, | 427 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, |
| 421 test_helper_.GetCachedOriginUsage()); | 428 test_helper_.GetCachedOriginUsage()); |
| 422 EXPECT_EQ(kDataSize, result_->bytes_written()); | 429 EXPECT_EQ(kDataSize, result_->bytes_written()); |
| 423 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); | 430 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); |
| 424 EXPECT_TRUE(result_->complete()); | 431 EXPECT_TRUE(result_->complete()); |
| 425 | 432 |
| 426 // Trying to write kDataSize bytes data from offset 25 while | 433 // Trying to write kDataSize bytes data from offset 25 while |
| 427 // allowed_growth is 55. | 434 // allowed_growth is 55. |
| 428 offset = 25; | 435 offset = 25; |
| 429 allowed_growth = 55; | 436 allowed_growth = 55; |
| 430 PrepareForWrite(kBlobURL, offset, allowed_growth); | 437 PrepareForWrite(kBlobURL, offset, allowed_growth); |
| 431 | 438 |
| 432 file_writer_delegate_->Start(file_, request_.get()); | 439 file_writer_delegate_->Start(file_, GetFileSize(), request_.get()); |
| 433 MessageLoop::current()->Run(); | 440 MessageLoop::current()->Run(); |
| 434 EXPECT_EQ(offset + kDataSize + FileSystemUsageCache::kUsageFileSize, | 441 EXPECT_EQ(offset + kDataSize + FileSystemUsageCache::kUsageFileSize, |
| 435 test_helper_.GetCachedOriginUsage()); | 442 test_helper_.GetCachedOriginUsage()); |
| 436 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, | 443 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, |
| 437 test_helper_.GetCachedOriginUsage()); | 444 test_helper_.GetCachedOriginUsage()); |
| 438 EXPECT_EQ(kDataSize, result_->bytes_written()); | 445 EXPECT_EQ(kDataSize, result_->bytes_written()); |
| 439 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); | 446 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); |
| 440 EXPECT_TRUE(result_->complete()); | 447 EXPECT_TRUE(result_->complete()); |
| 441 | 448 |
| 442 // Trying to overwrite 45 bytes data while allowed_growth is -20. | 449 // Trying to overwrite 45 bytes data while allowed_growth is -20. |
| 443 offset = 0; | 450 offset = 0; |
| 444 allowed_growth = -20; | 451 allowed_growth = -20; |
| 445 PrepareForWrite(kBlobURL, offset, allowed_growth); | 452 PrepareForWrite(kBlobURL, offset, allowed_growth); |
| 446 | 453 |
| 447 int64 pre_write_usage = ComputeCurrentOriginUsage(); | 454 int64 pre_write_usage = ComputeCurrentOriginUsage(); |
| 448 file_writer_delegate_->Start(file_, request_.get()); | 455 file_writer_delegate_->Start(file_, GetFileSize(), request_.get()); |
| 449 MessageLoop::current()->Run(); | 456 MessageLoop::current()->Run(); |
| 450 EXPECT_EQ(pre_write_usage + FileSystemUsageCache::kUsageFileSize, | 457 EXPECT_EQ(pre_write_usage + FileSystemUsageCache::kUsageFileSize, |
| 451 test_helper_.GetCachedOriginUsage()); | 458 test_helper_.GetCachedOriginUsage()); |
| 452 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, | 459 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, |
| 453 test_helper_.GetCachedOriginUsage()); | 460 test_helper_.GetCachedOriginUsage()); |
| 454 EXPECT_EQ(kDataSize, result_->bytes_written()); | 461 EXPECT_EQ(kDataSize, result_->bytes_written()); |
| 455 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); | 462 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); |
| 456 EXPECT_TRUE(result_->complete()); | 463 EXPECT_TRUE(result_->complete()); |
| 457 | 464 |
| 458 // Trying to overwrite 45 bytes data with offset pre_write_usage - 20, | 465 // Trying to overwrite 45 bytes data with offset pre_write_usage - 20, |
| 459 // while allowed_growth is 10. | 466 // while allowed_growth is 10. |
| 460 const int kOverlap = 20; | 467 const int kOverlap = 20; |
| 461 offset = pre_write_usage - kOverlap; | 468 offset = pre_write_usage - kOverlap; |
| 462 allowed_growth = 10; | 469 allowed_growth = 10; |
| 463 PrepareForWrite(kBlobURL, offset, allowed_growth); | 470 PrepareForWrite(kBlobURL, offset, allowed_growth); |
| 464 | 471 |
| 465 file_writer_delegate_->Start(file_, request_.get()); | 472 file_writer_delegate_->Start(file_, GetFileSize(), request_.get()); |
| 466 MessageLoop::current()->Run(); | 473 MessageLoop::current()->Run(); |
| 467 EXPECT_EQ(pre_write_usage + allowed_growth + | 474 EXPECT_EQ(pre_write_usage + allowed_growth + |
| 468 FileSystemUsageCache::kUsageFileSize, | 475 FileSystemUsageCache::kUsageFileSize, |
| 469 test_helper_.GetCachedOriginUsage()); | 476 test_helper_.GetCachedOriginUsage()); |
| 470 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, | 477 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, |
| 471 test_helper_.GetCachedOriginUsage()); | 478 test_helper_.GetCachedOriginUsage()); |
| 472 EXPECT_EQ(kOverlap + allowed_growth, result_->bytes_written()); | 479 EXPECT_EQ(kOverlap + allowed_growth, result_->bytes_written()); |
| 473 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE, result_->status()); | 480 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE, result_->status()); |
| 474 EXPECT_TRUE(result_->complete()); | 481 EXPECT_TRUE(result_->complete()); |
| 475 } | 482 } |
| (...skipping 13 matching lines...) Expand all Loading... |
| 489 } | 496 } |
| 490 | 497 |
| 491 TEST_F(FileWriterDelegateUnlimitedTest, WriteWithQuota) { | 498 TEST_F(FileWriterDelegateUnlimitedTest, WriteWithQuota) { |
| 492 const GURL kBlobURL("blob:with-unlimited"); | 499 const GURL kBlobURL("blob:with-unlimited"); |
| 493 content_ = kData; | 500 content_ = kData; |
| 494 | 501 |
| 495 // Set small allowed_growth bytes | 502 // Set small allowed_growth bytes |
| 496 PrepareForWrite(kBlobURL, 0, 10); | 503 PrepareForWrite(kBlobURL, 0, 10); |
| 497 | 504 |
| 498 // We shouldn't fail as the context is configured as 'unlimited'. | 505 // We shouldn't fail as the context is configured as 'unlimited'. |
| 499 file_writer_delegate_->Start(file_, request_.get()); | 506 file_writer_delegate_->Start(file_, GetFileSize(), request_.get()); |
| 500 MessageLoop::current()->Run(); | 507 MessageLoop::current()->Run(); |
| 501 EXPECT_EQ(kDataSize + FileSystemUsageCache::kUsageFileSize, | 508 EXPECT_EQ(kDataSize + FileSystemUsageCache::kUsageFileSize, |
| 502 test_helper_.GetCachedOriginUsage()); | 509 test_helper_.GetCachedOriginUsage()); |
| 503 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, | 510 EXPECT_EQ(ComputeCurrentOriginUsage() + FileSystemUsageCache::kUsageFileSize, |
| 504 test_helper_.GetCachedOriginUsage()); | 511 test_helper_.GetCachedOriginUsage()); |
| 505 EXPECT_EQ(kDataSize, result_->bytes_written()); | 512 EXPECT_EQ(kDataSize, result_->bytes_written()); |
| 506 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); | 513 EXPECT_EQ(base::PLATFORM_FILE_OK, result_->status()); |
| 507 EXPECT_TRUE(result_->complete()); | 514 EXPECT_TRUE(result_->complete()); |
| 508 } | 515 } |
| 509 | 516 |
| 510 } // namespace fileapi | 517 } // namespace fileapi |
| OLD | NEW |