OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 |
OLD | NEW |