| Index: chrome/browser/history/android/android_provider_backend_unittest.cc
|
| diff --git a/chrome/browser/history/android/android_provider_backend_unittest.cc b/chrome/browser/history/android/android_provider_backend_unittest.cc
|
| index cce0faa2a504df88326db103427cd70f06869345..d57c4258e0962c4b97d5bdeedf03397aae386155 100644
|
| --- a/chrome/browser/history/android/android_provider_backend_unittest.cc
|
| +++ b/chrome/browser/history/android/android_provider_backend_unittest.cc
|
| @@ -1636,4 +1636,60 @@ TEST_F(AndroidProviderBackendTest, TestMultipleNestingTransaction) {
|
| EXPECT_EQ(thumbnail_transaction, thumbnail_db_.transaction_nesting());
|
| }
|
|
|
| +TEST_F(AndroidProviderBackendTest, AndroidCTSComplianceFolderColumnExists) {
|
| + // This is test is used to verify the 'folder' column exists, all bookmarks
|
| + // returned when folder is 0 and the non bookmark rows returned when folder
|
| + // is 1.
|
| + 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_));
|
| + 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);
|
| +
|
| + AndroidURLID id1 = backend->InsertHistoryAndBookmark(row1);
|
| + ASSERT_TRUE(id1);
|
| + AndroidURLID id2 = backend->InsertHistoryAndBookmark(row2);
|
| + ASSERT_TRUE(id2);
|
| + ui_test_utils::RunAllPendingInMessageLoop();
|
| +
|
| + // Query by folder=0, the row1 should returned.
|
| + std::vector<HistoryAndBookmarkRow::ColumnID> projections;
|
| +
|
| + projections.push_back(HistoryAndBookmarkRow::URL);
|
| +
|
| + scoped_ptr<AndroidStatement> statement(backend->QueryHistoryAndBookmarks(
|
| + projections, std::string("folder=0"), std::vector<string16>(),
|
| + std::string("url ASC")));
|
| + ASSERT_TRUE(statement->statement()->Step());
|
| + EXPECT_EQ(row1.raw_url(), statement->statement()->ColumnString(0));
|
| + EXPECT_FALSE(statement->statement()->Step());
|
| +
|
| + // Query by folder=1, the row2 should returned.
|
| + statement.reset(backend->QueryHistoryAndBookmarks(
|
| + projections, std::string("folder=1"), std::vector<string16>(),
|
| + std::string("url ASC")));
|
| + ASSERT_TRUE(statement->statement()->Step());
|
| + EXPECT_EQ(row2.url(), GURL(statement->statement()->ColumnString(0)));
|
| + EXPECT_FALSE(statement->statement()->Step());
|
| +}
|
| +
|
| } // namespace history
|
|
|