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

Side by Side Diff: content/browser/download/base_file_unittest.cc

Issue 13145003: Rewrite std::string("") to std::string(), Linux edition. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Ugh Created 7 years, 8 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
« no previous file with comments | « content/browser/download/base_file.cc ('k') | content/browser/download/download_file_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "content/browser/download/base_file.h" 5 #include "content/browser/download/base_file.h"
6 6
7 #include "base/file_util.h" 7 #include "base/file_util.h"
8 #include "base/files/scoped_temp_dir.h" 8 #include "base/files/scoped_temp_dir.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 } 47 }
48 48
49 virtual void SetUp() { 49 virtual void SetUp() {
50 ResetHash(); 50 ResetHash();
51 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); 51 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
52 base_file_.reset(new BaseFile(base::FilePath(), 52 base_file_.reset(new BaseFile(base::FilePath(),
53 GURL(), 53 GURL(),
54 GURL(), 54 GURL(),
55 0, 55 0,
56 false, 56 false,
57 "", 57 std::string(),
58 scoped_ptr<net::FileStream>(), 58 scoped_ptr<net::FileStream>(),
59 net::BoundNetLog())); 59 net::BoundNetLog()));
60 } 60 }
61 61
62 virtual void TearDown() { 62 virtual void TearDown() {
63 EXPECT_FALSE(base_file_->in_progress()); 63 EXPECT_FALSE(base_file_->in_progress());
64 if (!expected_error_) { 64 if (!expected_error_) {
65 EXPECT_EQ(static_cast<int64>(expected_data_.size()), 65 EXPECT_EQ(static_cast<int64>(expected_data_.size()),
66 base_file_->bytes_so_far()); 66 base_file_->bytes_so_far());
67 } 67 }
(...skipping 30 matching lines...) Expand all
98 sizeof(sha256_hash_)); 98 sizeof(sha256_hash_));
99 return hash; 99 return hash;
100 } 100 }
101 101
102 void MakeFileWithHash() { 102 void MakeFileWithHash() {
103 base_file_.reset(new BaseFile(base::FilePath(), 103 base_file_.reset(new BaseFile(base::FilePath(),
104 GURL(), 104 GURL(),
105 GURL(), 105 GURL(),
106 0, 106 0,
107 true, 107 true,
108 "", 108 std::string(),
109 scoped_ptr<net::FileStream>(), 109 scoped_ptr<net::FileStream>(),
110 net::BoundNetLog())); 110 net::BoundNetLog()));
111 } 111 }
112 112
113 bool InitializeFile() { 113 bool InitializeFile() {
114 DownloadInterruptReason result = base_file_->Initialize(temp_dir_.path()); 114 DownloadInterruptReason result = base_file_->Initialize(temp_dir_.path());
115 EXPECT_EQ(expected_error_, result); 115 EXPECT_EQ(expected_error_, result);
116 return result == DOWNLOAD_INTERRUPT_REASON_NONE; 116 return result == DOWNLOAD_INTERRUPT_REASON_NONE;
117 } 117 }
118 118
(...skipping 19 matching lines...) Expand all
138 138
139 // Helper functions. 139 // Helper functions.
140 // Create a file. Returns the complete file path. 140 // Create a file. Returns the complete file path.
141 base::FilePath CreateTestFile() { 141 base::FilePath CreateTestFile() {
142 base::FilePath file_name; 142 base::FilePath file_name;
143 BaseFile file(base::FilePath(), 143 BaseFile file(base::FilePath(),
144 GURL(), 144 GURL(),
145 GURL(), 145 GURL(),
146 0, 146 0,
147 false, 147 false,
148 "", 148 std::string(),
149 scoped_ptr<net::FileStream>(), 149 scoped_ptr<net::FileStream>(),
150 net::BoundNetLog()); 150 net::BoundNetLog());
151 151
152 EXPECT_EQ(DOWNLOAD_INTERRUPT_REASON_NONE, 152 EXPECT_EQ(DOWNLOAD_INTERRUPT_REASON_NONE,
153 file.Initialize(temp_dir_.path())); 153 file.Initialize(temp_dir_.path()));
154 file_name = file.full_path(); 154 file_name = file.full_path();
155 EXPECT_NE(base::FilePath::StringType(), file_name.value()); 155 EXPECT_NE(base::FilePath::StringType(), file_name.value());
156 156
157 EXPECT_EQ(DOWNLOAD_INTERRUPT_REASON_NONE, 157 EXPECT_EQ(DOWNLOAD_INTERRUPT_REASON_NONE,
158 file.AppendDataToFile(kTestData4, kTestDataLength4)); 158 file.AppendDataToFile(kTestData4, kTestDataLength4));
159 159
160 // Keep the file from getting deleted when existing_file_name is deleted. 160 // Keep the file from getting deleted when existing_file_name is deleted.
161 file.Detach(); 161 file.Detach();
162 162
163 return file_name; 163 return file_name;
164 } 164 }
165 165
166 // Create a file with the specified file name. 166 // Create a file with the specified file name.
167 void CreateFileWithName(const base::FilePath& file_name) { 167 void CreateFileWithName(const base::FilePath& file_name) {
168 EXPECT_NE(base::FilePath::StringType(), file_name.value()); 168 EXPECT_NE(base::FilePath::StringType(), file_name.value());
169 BaseFile duplicate_file(file_name, 169 BaseFile duplicate_file(file_name,
170 GURL(), 170 GURL(),
171 GURL(), 171 GURL(),
172 0, 172 0,
173 false, 173 false,
174 "", 174 std::string(),
175 scoped_ptr<net::FileStream>(), 175 scoped_ptr<net::FileStream>(),
176 net::BoundNetLog()); 176 net::BoundNetLog());
177 EXPECT_EQ(DOWNLOAD_INTERRUPT_REASON_NONE, 177 EXPECT_EQ(DOWNLOAD_INTERRUPT_REASON_NONE,
178 duplicate_file.Initialize(temp_dir_.path())); 178 duplicate_file.Initialize(temp_dir_.path()));
179 // Write something into it. 179 // Write something into it.
180 duplicate_file.AppendDataToFile(kTestData4, kTestDataLength4); 180 duplicate_file.AppendDataToFile(kTestData4, kTestDataLength4);
181 // Detach the file so it isn't deleted on destruction of |duplicate_file|. 181 // Detach the file so it isn't deleted on destruction of |duplicate_file|.
182 duplicate_file.Detach(); 182 duplicate_file.Detach();
183 } 183 }
184 184
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 base::PLATFORM_FILE_OPEN_ALWAYS | base::PLATFORM_FILE_WRITE)); 496 base::PLATFORM_FILE_OPEN_ALWAYS | base::PLATFORM_FILE_WRITE));
497 497
498 // Copy of mock_file_stream; we pass ownership and rely on the BaseFile 498 // Copy of mock_file_stream; we pass ownership and rely on the BaseFile
499 // not deleting it until it is reset. 499 // not deleting it until it is reset.
500 500
501 base_file_.reset(new BaseFile(mock_file_stream->get_path(), 501 base_file_.reset(new BaseFile(mock_file_stream->get_path(),
502 GURL(), 502 GURL(),
503 GURL(), 503 GURL(),
504 0, 504 0,
505 false, 505 false,
506 "", 506 std::string(),
507 mock_file_stream_scoped_ptr.Pass(), 507 mock_file_stream_scoped_ptr.Pass(),
508 net::BoundNetLog())); 508 net::BoundNetLog()));
509 ASSERT_TRUE(InitializeFile()); 509 ASSERT_TRUE(InitializeFile());
510 ASSERT_TRUE(AppendDataToFile(kTestData1)); 510 ASSERT_TRUE(AppendDataToFile(kTestData1));
511 ASSERT_TRUE(AppendDataToFile(kTestData2)); 511 ASSERT_TRUE(AppendDataToFile(kTestData2));
512 mock_file_stream->set_forced_error(net::ERR_ACCESS_DENIED); 512 mock_file_stream->set_forced_error(net::ERR_ACCESS_DENIED);
513 set_expected_error(DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED); 513 set_expected_error(DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED);
514 ASSERT_FALSE(AppendDataToFile(kTestData3)); 514 ASSERT_FALSE(AppendDataToFile(kTestData3));
515 std::string hash; 515 std::string hash;
516 EXPECT_FALSE(base_file_->GetHash(&hash)); 516 EXPECT_FALSE(base_file_->GetHash(&hash));
(...skipping 26 matching lines...) Expand all
543 base::FilePath existing_file_name = CreateTestFile(); 543 base::FilePath existing_file_name = CreateTestFile();
544 544
545 set_expected_data(kTestData4); 545 set_expected_data(kTestData4);
546 546
547 // Use the file we've just created. 547 // Use the file we've just created.
548 base_file_.reset(new BaseFile(existing_file_name, 548 base_file_.reset(new BaseFile(existing_file_name,
549 GURL(), 549 GURL(),
550 GURL(), 550 GURL(),
551 kTestDataLength4, 551 kTestDataLength4,
552 false, 552 false,
553 "", 553 std::string(),
554 scoped_ptr<net::FileStream>(), 554 scoped_ptr<net::FileStream>(),
555 net::BoundNetLog())); 555 net::BoundNetLog()));
556 556
557 ASSERT_TRUE(InitializeFile()); 557 ASSERT_TRUE(InitializeFile());
558 558
559 const base::FilePath file_name = base_file_->full_path(); 559 const base::FilePath file_name = base_file_->full_path();
560 EXPECT_NE(base::FilePath::StringType(), file_name.value()); 560 EXPECT_NE(base::FilePath::StringType(), file_name.value());
561 561
562 // Write into the file. 562 // Write into the file.
563 EXPECT_TRUE(AppendDataToFile(kTestData1)); 563 EXPECT_TRUE(AppendDataToFile(kTestData1));
(...skipping 13 matching lines...) Expand all
577 577
578 // Make it read-only. 578 // Make it read-only.
579 EXPECT_TRUE(file_util::MakeFileUnwritable(readonly_file_name)); 579 EXPECT_TRUE(file_util::MakeFileUnwritable(readonly_file_name));
580 580
581 // Try to overwrite it. 581 // Try to overwrite it.
582 base_file_.reset(new BaseFile(readonly_file_name, 582 base_file_.reset(new BaseFile(readonly_file_name,
583 GURL(), 583 GURL(),
584 GURL(), 584 GURL(),
585 0, 585 0,
586 false, 586 false,
587 "", 587 std::string(),
588 scoped_ptr<net::FileStream>(), 588 scoped_ptr<net::FileStream>(),
589 net::BoundNetLog())); 589 net::BoundNetLog()));
590 590
591 expect_in_progress_ = false; 591 expect_in_progress_ = false;
592 set_expected_error(DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED); 592 set_expected_error(DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED);
593 EXPECT_FALSE(InitializeFile()); 593 EXPECT_FALSE(InitializeFile());
594 594
595 const base::FilePath file_name = base_file_->full_path(); 595 const base::FilePath file_name = base_file_->full_path();
596 EXPECT_NE(base::FilePath::StringType(), file_name.value()); 596 EXPECT_NE(base::FilePath::StringType(), file_name.value());
597 597
598 // Write into the file. 598 // Write into the file.
599 set_expected_error(DOWNLOAD_INTERRUPT_REASON_FILE_FAILED); 599 set_expected_error(DOWNLOAD_INTERRUPT_REASON_FILE_FAILED);
600 EXPECT_FALSE(AppendDataToFile(kTestData1)); 600 EXPECT_FALSE(AppendDataToFile(kTestData1));
601 601
602 base_file_->Finish(); 602 base_file_->Finish();
603 base_file_->Detach(); 603 base_file_->Detach();
604 expect_file_survives_ = true; 604 expect_file_survives_ = true;
605 } 605 }
606 606
607 TEST_F(BaseFileTest, IsEmptyHash) { 607 TEST_F(BaseFileTest, IsEmptyHash) {
608 std::string empty(BaseFile::kSha256HashLen, '\x00'); 608 std::string empty(BaseFile::kSha256HashLen, '\x00');
609 EXPECT_TRUE(BaseFile::IsEmptyHash(empty)); 609 EXPECT_TRUE(BaseFile::IsEmptyHash(empty));
610 std::string not_empty(BaseFile::kSha256HashLen, '\x01'); 610 std::string not_empty(BaseFile::kSha256HashLen, '\x01');
611 EXPECT_FALSE(BaseFile::IsEmptyHash(not_empty)); 611 EXPECT_FALSE(BaseFile::IsEmptyHash(not_empty));
612 EXPECT_FALSE(BaseFile::IsEmptyHash("")); 612 EXPECT_FALSE(BaseFile::IsEmptyHash(std::string()));
613 } 613 }
614 614
615 // Test that calculating speed after no writes. 615 // Test that calculating speed after no writes.
616 TEST_F(BaseFileTest, SpeedWithoutWrite) { 616 TEST_F(BaseFileTest, SpeedWithoutWrite) {
617 ASSERT_TRUE(InitializeFile()); 617 ASSERT_TRUE(InitializeFile());
618 base::TimeTicks current = StartTick() + kElapsedTimeDelta; 618 base::TimeTicks current = StartTick() + kElapsedTimeDelta;
619 ASSERT_EQ(0, CurrentSpeedAtTime(current)); 619 ASSERT_EQ(0, CurrentSpeedAtTime(current));
620 base_file_->Finish(); 620 base_file_->Finish();
621 } 621 }
622 622
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
665 base::FilePath temp_file; 665 base::FilePath temp_file;
666 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(), 666 ASSERT_TRUE(file_util::CreateTemporaryFileInDir(temp_dir_.path(),
667 &temp_file)); 667 &temp_file));
668 ASSERT_FALSE(temp_file.empty()); 668 ASSERT_FALSE(temp_file.empty());
669 EXPECT_STREQ(temp_file.DirName().value().c_str(), 669 EXPECT_STREQ(temp_file.DirName().value().c_str(),
670 base_file_->full_path().DirName().value().c_str()); 670 base_file_->full_path().DirName().value().c_str());
671 base_file_->Finish(); 671 base_file_->Finish();
672 } 672 }
673 673
674 } // namespace content 674 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/download/base_file.cc ('k') | content/browser/download/download_file_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698