diff options
author | michaelbai@chromium.org <michaelbai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-06 00:45:51 +0000 |
---|---|---|
committer | michaelbai@chromium.org <michaelbai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-06 00:45:51 +0000 |
commit | 2cfd1489de967f2c2d381a3f18406f33022b1202 (patch) | |
tree | ac46bfcb419b0cc2febe997ddac03ba87a87163e /chrome/browser/history/android/android_provider_backend_unittest.cc | |
parent | 9c94b095231b2b1d7a7792d7310ec81c799d1a58 (diff) | |
download | chromium_src-2cfd1489de967f2c2d381a3f18406f33022b1202.zip chromium_src-2cfd1489de967f2c2d381a3f18406f33022b1202.tar.gz chromium_src-2cfd1489de967f2c2d381a3f18406f33022b1202.tar.bz2 |
Added AndroidProviderBackend::DeleteHistory method
This method only deletes the history, the row's visit count will
be reset if the row's URL is bookmarked.
BUG=
TEST=
Review URL: http://codereview.chromium.org/9963097
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131053 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/history/android/android_provider_backend_unittest.cc')
-rw-r--r-- | chrome/browser/history/android/android_provider_backend_unittest.cc | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/chrome/browser/history/android/android_provider_backend_unittest.cc b/chrome/browser/history/android/android_provider_backend_unittest.cc index 1aa1a1a..8832ab8 100644 --- a/chrome/browser/history/android/android_provider_backend_unittest.cc +++ b/chrome/browser/history/android/android_provider_backend_unittest.cc @@ -1446,4 +1446,64 @@ TEST_F(AndroidProviderBackendTest, InsertSearchTerm) { EXPECT_FALSE(statement->statement()->Step()); } +TEST_F(AndroidProviderBackendTest, DeleteHistory) { + HistoryAndBookmarkRow row1; + row1.set_raw_url("cnn.com"); + row1.set_url(GURL("http://cnn.com")); + row1.set_last_visit_time(Time::Now() - TimeDelta::FromDays(1)); + row1.set_created(Time::Now() - TimeDelta::FromDays(20)); + row1.set_visit_count(10); + row1.set_is_bookmark(true); + row1.set_title(UTF8ToUTF16("cnn")); + + HistoryAndBookmarkRow row2; + row2.set_raw_url("http://www.example.com"); + row2.set_url(GURL("http://www.example.com")); + row2.set_last_visit_time(Time::Now() - TimeDelta::FromDays(10)); + row2.set_is_bookmark(false); + row2.set_title(UTF8ToUTF16("example")); + std::vector<unsigned char> data; + data.push_back('1'); + row2.set_favicon(data); + + ASSERT_EQ(sql::INIT_OK, history_db_.Init(history_db_name_, bookmark_temp_)); + ASSERT_EQ(sql::INIT_OK, thumbnail_db_.Init(thumbnail_db_name_, NULL, + &history_db_)); + scoped_ptr<AndroidProviderBackend> backend( + new AndroidProviderBackend(android_cache_db_name_, &history_db_, + &thumbnail_db_, &bookmark_model_, &delegate_)); + + AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1); + ASSERT_TRUE(id1); + AndroidURLID id2 = backend->InsertHistoryAndBookmark(row2); + ASSERT_TRUE(id2); + AddBookmark(row1.url()); + + // Delete history + int deleted_count = 0; + ASSERT_TRUE(backend->DeleteHistory(std::string(), std::vector<string16>(), + &deleted_count)); + EXPECT_EQ(2, deleted_count); + // The row2 was deleted. + EXPECT_FALSE(history_db_.GetRowForURL(row2.url(), NULL)); + // Still find the row1. + URLRow url_row; + ASSERT_TRUE(history_db_.GetRowForURL(row1.url(), &url_row)); + // The visit_count was reset. + EXPECT_EQ(0, url_row.visit_count()); + EXPECT_EQ(Time::UnixEpoch(), url_row.last_visit()); + + // Verify notification + ASSERT_TRUE(delegate_.deleted_details()); + ASSERT_EQ(2u, delegate_.deleted_details()->rows.size()); + ASSERT_EQ(2u, delegate_.deleted_details()->urls.size()); + ASSERT_TRUE(delegate_.modified_details()); + ASSERT_EQ(1u, delegate_.modified_details()->changed_urls.size()); + EXPECT_EQ(row1.url(), + delegate_.modified_details()->changed_urls[0].url()); + EXPECT_EQ(Time::UnixEpoch(), + delegate_.modified_details()->changed_urls[0].last_visit()); + EXPECT_EQ(1u, delegate_.favicon_details()->urls.size()); +} + } // namespace history |