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

Unified Diff: chrome/browser/extensions/activity_log/activity_database_unittest.cc

Issue 21646004: Compressed activity log database storage (Closed) Base URL: http://git.chromium.org/chromium/src.git@refactor-cleanups
Patch Set: Factor out dropping of obsolete tables and use in all policies Created 7 years, 4 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
Index: chrome/browser/extensions/activity_log/activity_database_unittest.cc
diff --git a/chrome/browser/extensions/activity_log/activity_database_unittest.cc b/chrome/browser/extensions/activity_log/activity_database_unittest.cc
index b8f9d91fd03e27f584c1b7dabf4c88338936a90e..5894999909bffbe4c7372539a379c06d3c9661a1 100644
--- a/chrome/browser/extensions/activity_log/activity_database_unittest.cc
+++ b/chrome/browser/extensions/activity_log/activity_database_unittest.cc
@@ -103,7 +103,7 @@ bool ActivityDatabaseTestPolicy::FlushDatabase(sql::Connection* db) {
void ActivityDatabaseTestPolicy::Record(ActivityDatabase* db,
scoped_refptr<Action> action) {
queue_.push_back(action);
- db->NotifyAction();
+ db->AdviseFlush(queue_.size());
}
class ActivityDatabaseTest : public ChromeRenderViewHostTestHarness {
@@ -151,7 +151,8 @@ class ActivityDatabaseTest : public ChromeRenderViewHostTestHarness {
std::string sql_str = "SELECT COUNT(*) FROM " +
std::string(ActivityDatabaseTestPolicy::kTableName) +
" WHERE api_name LIKE ?";
- sql::Statement statement(db->GetUniqueStatement(sql_str.c_str()));
+ sql::Statement statement(db->GetCachedStatement(
+ sql::StatementID(SQL_FROM_HERE), sql_str.c_str()));
statement.BindString(0, api_name_pattern);
if (!statement.Step())
return -1;
@@ -246,6 +247,27 @@ TEST_F(ActivityDatabaseTest, BatchModeOn) {
activity_db->Close();
}
+TEST_F(ActivityDatabaseTest, BatchModeFlush) {
+ base::ScopedTempDir temp_dir;
+ base::FilePath db_file;
+ ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
+ db_file = temp_dir.path().AppendASCII("ActivityFlush.db");
+ base::DeleteFile(db_file, false);
+
+ // Record some actions
+ ActivityDatabase* activity_db = OpenDatabase(db_file);
+ activity_db->SetBatchModeForTesting(true);
+ scoped_refptr<Action> action = CreateAction(base::Time::Now(), "brewster");
+ Record(activity_db, action);
+ ASSERT_EQ(0, CountActions(&activity_db->db_, "brewster"));
+
+ // Request an immediate database flush.
+ activity_db->AdviseFlush(ActivityDatabase::kFlushImmediately);
+ ASSERT_EQ(1, CountActions(&activity_db->db_, "brewster"));
+
+ activity_db->Close();
+}
+
// Check that nothing explodes if the DB isn't initialized.
TEST_F(ActivityDatabaseTest, InitFailure) {
base::ScopedTempDir temp_dir;

Powered by Google App Engine
This is Rietveld 408576698