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

Unified Diff: chrome/browser/history/top_sites_unittest.cc

Issue 2746002: 1. Create and use the TopSites database file.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/history/top_sites_database.cc ('k') | chrome/browser/profile.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/history/top_sites_unittest.cc
===================================================================
--- chrome/browser/history/top_sites_unittest.cc (revision 48777)
+++ chrome/browser/history/top_sites_unittest.cc (working copy)
@@ -7,6 +7,7 @@
#include "chrome/browser/history/top_sites.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/browser/history/top_sites_database.h"
+#include "chrome/browser/history/history_notifications.h"
#include "chrome/test/testing_profile.h"
#include "chrome/tools/profiles/thumbnail-inl.h"
#include "gfx/codec/jpeg_codec.h"
@@ -28,6 +29,7 @@
}
TopSites& top_sites() { return *top_sites_; }
+ Profile& profile() {return *profile_;}
FilePath& file_name() { return file_name_; }
RefCountedBytes* google_thumbnail() { return google_thumbnail_; }
RefCountedBytes* random_thumbnail() { return random_thumbnail_; }
@@ -88,6 +90,7 @@
scoped_refptr<RefCountedBytes> google_thumbnail_;
scoped_refptr<RefCountedBytes> random_thumbnail_;
scoped_refptr<RefCountedBytes> weewar_thumbnail_;
+ MessageLoop message_loop_;
DISALLOW_COPY_AND_ASSIGN(TopSitesTest);
};
@@ -117,6 +120,11 @@
most_visited_urls_.push_back(page);
}
+ // Removes the last URL in the list.
+ void RemoveMostVisitedURL() {
+ most_visited_urls_.pop_back();
+ }
+
private:
MostVisitedURLList most_visited_urls_;
};
@@ -607,4 +615,57 @@
EXPECT_TRUE(high_score.Equals(out_2.thumbnail_score));
}
+TEST_F(TopSitesTest, DeleteNotifications) {
+ GURL google1_url("http://google.com");
+ GURL google2_url("http://google.com/redirect");
+ GURL google3_url("http://www.google.com");
+ string16 google_title(ASCIIToUTF16("Google"));
+ GURL news_url("http://news.google.com");
+ string16 news_title(ASCIIToUTF16("Google News"));
+
+ MockHistoryServiceImpl hs;
+
+ top_sites().Init(file_name());
+
+ hs.AppendMockPage(google1_url, google_title);
+ hs.AppendMockPage(news_url, news_title);
+ top_sites().SetMockHistoryService(&hs);
+
+ top_sites().StartQueryForMostVisited();
+
+ MostVisitedURLList result = top_sites().GetMostVisitedURLs();
+ ASSERT_EQ(2u, result.size());
+
+ hs.RemoveMostVisitedURL();
+
+ history::URLsDeletedDetails details;
+ details.all_history = false;
+ top_sites().Observe(NotificationType::HISTORY_URLS_DELETED,
+ Source<Profile> (&profile()),
+ (const NotificationDetails&)details);
+
+ result = top_sites().GetMostVisitedURLs();
+ ASSERT_EQ(1u, result.size());
+ EXPECT_EQ(google_title, result[0].title);
+
+ hs.RemoveMostVisitedURL();
+ details.all_history = true;
+ top_sites().Observe(NotificationType::HISTORY_URLS_DELETED,
+ Source<Profile> (&profile()),
+ (const NotificationDetails&)details);
+ result = top_sites().GetMostVisitedURLs();
+ ASSERT_EQ(0u, result.size());
+}
+
+TEST_F(TopSitesTest, GetUpdateDelay) {
+ top_sites().last_num_urls_changed_ = 0;
+ EXPECT_EQ(60, top_sites().GetUpdateDelay().InMinutes());
+
+ top_sites().last_num_urls_changed_ = 3;
+ EXPECT_EQ(52, top_sites().GetUpdateDelay().InMinutes());
+
+ top_sites().last_num_urls_changed_ = 20;
+ EXPECT_EQ(1, top_sites().GetUpdateDelay().InMinutes());
+}
+
} // namespace history
« no previous file with comments | « chrome/browser/history/top_sites_database.cc ('k') | chrome/browser/profile.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698