| 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;
|
|
|