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

Unified Diff: chrome/browser/download/download_item_model_unittest.cc

Issue 11419169: Use DownloadItemModel for storing chrome/ specific UI data for DownloadItems. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix tests Created 8 years 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/download/download_item_model_unittest.cc
diff --git a/chrome/browser/download/download_item_model_unittest.cc b/chrome/browser/download/download_item_model_unittest.cc
index f93ceebaab95d843f45d9b205aecf4fb6dbf5366..6d1f8af507c0e114d773c42d7ad867b0c86317d6 100644
--- a/chrome/browser/download/download_item_model_unittest.cc
+++ b/chrome/browser/download/download_item_model_unittest.cc
@@ -41,20 +41,20 @@ char kInterruptReasonCounter[] = {
};
const size_t kInterruptReasonCount = ARRAYSIZE_UNSAFE(kInterruptReasonCounter);
-// DownloadItemModel with mocks several methods.
-class TestDownloadItemModel : public DownloadItemModel {
- public:
- explicit TestDownloadItemModel(content::DownloadItem* download)
- : DownloadItemModel(download) {
- }
+// Default target path for a mock download item in DownloadItemModelTest.
+const FilePath::CharType kDefaultTargetFilePath[] =
+ FILE_PATH_LITERAL("/foo/bar/foo.bar");
- MOCK_CONST_METHOD0(GetTotalBytes, int64());
- MOCK_CONST_METHOD0(GetCompletedBytes, int64());
-};
+const FilePath::CharType kDefaultDisplayFileName[] =
+ FILE_PATH_LITERAL("foo.bar");
+
+// Default URL for a mock download item in DownloadItemModelTest.
+const char kDefaultURL[] = "http://example.com/foo.bar";
class DownloadItemModelTest : public testing::Test {
public:
- DownloadItemModelTest() {}
+ DownloadItemModelTest()
+ : model_(&item_) {}
virtual ~DownloadItemModelTest() {
}
@@ -74,20 +74,15 @@ class DownloadItemModelTest : public testing::Test {
ON_CALL(item_, GetState())
.WillByDefault(Return(content::DownloadItem::IN_PROGRESS));
ON_CALL(item_, GetURL())
- .WillByDefault(ReturnRefOfCopy(GURL("http://example.com/foo.bar")));
+ .WillByDefault(ReturnRefOfCopy(GURL(kDefaultURL)));
ON_CALL(item_, GetFileNameToReportUser())
- .WillByDefault(Return(FilePath(FILE_PATH_LITERAL("foo.bar"))));
+ .WillByDefault(Return(FilePath(kDefaultDisplayFileName)));
+ ON_CALL(item_, GetTargetFilePath())
+ .WillByDefault(ReturnRefOfCopy(FilePath(kDefaultTargetFilePath)));
ON_CALL(item_, GetTargetDisposition())
.WillByDefault(
Return(content::DownloadItem::TARGET_DISPOSITION_OVERWRITE));
ON_CALL(item_, IsPaused()).WillByDefault(Return(false));
-
- // Setup the model:
- model_.reset(new NiceMock<TestDownloadItemModel>(&item_));
- ON_CALL(*model_.get(), GetTotalBytes())
- .WillByDefault(Return(2));
- ON_CALL(*model_.get(), GetCompletedBytes())
- .WillByDefault(Return(1));
}
void SetupInterruptedDownloadItem(content::DownloadInterruptReason reason) {
@@ -106,14 +101,13 @@ class DownloadItemModelTest : public testing::Test {
return item_;
}
- TestDownloadItemModel& model() {
- return *model_;
+ DownloadItemModel& model() {
+ return model_;
}
private:
- scoped_ptr<TestDownloadItemModel> model_;
-
NiceMock<content::MockDownloadItem> item_;
+ DownloadItemModel model_;
};
} // namespace
@@ -328,9 +322,9 @@ TEST_F(DownloadItemModelTest, InProgressStatus) {
TestCase& test_case = kTestCases[i];
Mock::VerifyAndClearExpectations(&item());
Mock::VerifyAndClearExpectations(&model());
- EXPECT_CALL(model(), GetCompletedBytes())
+ EXPECT_CALL(item(), GetReceivedBytes())
.WillRepeatedly(Return(test_case.received_bytes));
- EXPECT_CALL(model(), GetTotalBytes())
+ EXPECT_CALL(item(), GetTotalBytes())
.WillRepeatedly(Return(test_case.total_bytes));
EXPECT_CALL(item(), TimeRemaining(_))
.WillRepeatedly(testing::DoAll(
@@ -345,3 +339,17 @@ TEST_F(DownloadItemModelTest, InProgressStatus) {
UTF16ToUTF8(model().GetStatusText()).c_str());
}
}
+
+TEST_F(DownloadItemModelTest, ShouldShowInShelf) {
+ SetupDownloadItemDefaults();
+
+ // By default the download item should be displayable on the shelf.
+ EXPECT_TRUE(model().ShouldShowInShelf());
+
+ // Once explicitly set, ShouldShowInShelf() should return the explicit value.
+ model().SetShouldShowInShelf(false);
+ EXPECT_FALSE(model().ShouldShowInShelf());
+
+ model().SetShouldShowInShelf(true);
+ EXPECT_TRUE(model().ShouldShowInShelf());
+}

Powered by Google App Engine
This is Rietveld 408576698