| Index: components/precache/core/precache_url_table_unittest.cc
|
| diff --git a/components/precache/core/precache_url_table_unittest.cc b/components/precache/core/precache_url_table_unittest.cc
|
| index 6a764e30b2f53826b85728712833c0afc9719592..4c803270bd2c0b62e4cabf3c64986479a6ac65ad 100644
|
| --- a/components/precache/core/precache_url_table_unittest.cc
|
| +++ b/components/precache/core/precache_url_table_unittest.cc
|
| @@ -8,6 +8,8 @@
|
| #include <memory>
|
| #include <set>
|
|
|
| +#include "base/bind.h"
|
| +#include "base/bind_helpers.h"
|
| #include "base/compiler_specific.h"
|
| #include "base/time/time.h"
|
| #include "sql/connection.h"
|
| @@ -33,17 +35,24 @@ class PrecacheURLTableTest : public testing::Test {
|
| void SetUp() override {
|
| precache_url_table_.reset(new PrecacheURLTable());
|
| db_.reset(new sql::Connection());
|
| + db_->set_error_callback(base::Bind(&PrecacheURLTableTest::SqlErrorCallback,
|
| + base::Unretained(this)));
|
| ASSERT_TRUE(db_->OpenInMemory());
|
| ASSERT_TRUE(precache_url_table_->Init(db_.get()));
|
| }
|
|
|
| + void SqlErrorCallback(int line, sql::Statement* statement) {
|
| + LOG(INFO) << "SQL Error at line " << line << ": "
|
| + << statement->GetSQLStatement();
|
| + }
|
| +
|
| std::unique_ptr<PrecacheURLTable> precache_url_table_;
|
| std::unique_ptr<sql::Connection> db_;
|
| };
|
|
|
| TEST_F(PrecacheURLTableTest, AddURLWithNoExistingRow) {
|
| const base::Time kTime = base::Time::FromInternalValue(100);
|
| - precache_url_table_->AddURL(GURL("http://url.com"), 1, true, kTime);
|
| + precache_url_table_->AddURL(GURL("http://url.com"), 1, true, true, kTime);
|
|
|
| std::map<GURL, base::Time> expected_map;
|
| expected_map[GURL("http://url.com")] = kTime;
|
| @@ -53,11 +62,25 @@ TEST_F(PrecacheURLTableTest, AddURLWithNoExistingRow) {
|
| EXPECT_EQ(expected_map, actual_map);
|
| }
|
|
|
| -TEST_F(PrecacheURLTableTest, AddURLWithExistingRow) {
|
| +TEST_F(PrecacheURLTableTest, AddURLWithExistingRowCached) {
|
| + const base::Time kOldTime = base::Time::FromInternalValue(50);
|
| + const base::Time kNewTime = base::Time::FromInternalValue(100);
|
| + precache_url_table_->AddURL(GURL("http://url.com"), 1, true, true, kOldTime);
|
| + precache_url_table_->AddURL(GURL("http://url.com"), 1, true, true, kNewTime);
|
| +
|
| + std::map<GURL, base::Time> expected_map;
|
| + expected_map[GURL("http://url.com")] = kNewTime;
|
| +
|
| + std::map<GURL, base::Time> actual_map;
|
| + precache_url_table_->GetAllDataForTesting(&actual_map);
|
| + EXPECT_EQ(expected_map, actual_map);
|
| +}
|
| +
|
| +TEST_F(PrecacheURLTableTest, AddURLWithExistingRowNotCached) {
|
| const base::Time kOldTime = base::Time::FromInternalValue(50);
|
| const base::Time kNewTime = base::Time::FromInternalValue(100);
|
| - precache_url_table_->AddURL(GURL("http://url.com"), 1, true, kOldTime);
|
| - precache_url_table_->AddURL(GURL("http://url.com"), 1, true, kNewTime);
|
| + precache_url_table_->AddURL(GURL("http://url.com"), 1, true, false, kOldTime);
|
| + precache_url_table_->AddURL(GURL("http://url.com"), 1, true, false, kNewTime);
|
|
|
| std::map<GURL, base::Time> expected_map;
|
| expected_map[GURL("http://url.com")] = kNewTime;
|
| @@ -71,8 +94,9 @@ TEST_F(PrecacheURLTableTest, SetURLAsNotPrecached) {
|
| const base::Time kStaysTime = base::Time::FromInternalValue(50);
|
| const base::Time kDeletedTime = base::Time::FromInternalValue(100);
|
|
|
| - precache_url_table_->AddURL(GURL("http://stays.com"), 1, true, kStaysTime);
|
| - precache_url_table_->AddURL(GURL("http://deleted.com"), 1, true,
|
| + precache_url_table_->AddURL(GURL("http://stays.com"), 1, true, true,
|
| + kStaysTime);
|
| + precache_url_table_->AddURL(GURL("http://deleted.com"), 1, true, true,
|
| kDeletedTime);
|
|
|
| precache_url_table_->SetURLAsNotPrecached(GURL("http://deleted.com"));
|
| @@ -91,7 +115,8 @@ TEST_F(PrecacheURLTableTest, GetURLInfo) {
|
| EXPECT_EQ((PrecacheURLInfo{false, false, false}),
|
| precache_url_table_->GetURLInfo(url));
|
|
|
| - precache_url_table_->AddURL(url, 1, true, base::Time::FromInternalValue(100));
|
| + precache_url_table_->AddURL(url, 1, true, true,
|
| + base::Time::FromInternalValue(100));
|
|
|
| EXPECT_EQ((PrecacheURLInfo{true, true, false}),
|
| precache_url_table_->GetURLInfo(url));
|
| @@ -101,7 +126,8 @@ TEST_F(PrecacheURLTableTest, GetURLInfo) {
|
| EXPECT_EQ((PrecacheURLInfo{true, false, true}),
|
| precache_url_table_->GetURLInfo(url));
|
|
|
| - precache_url_table_->AddURL(url, 1, true, base::Time::FromInternalValue(100));
|
| + precache_url_table_->AddURL(url, 1, true, true,
|
| + base::Time::FromInternalValue(100));
|
|
|
| EXPECT_EQ((PrecacheURLInfo{true, true, false}),
|
| precache_url_table_->GetURLInfo(url));
|
| @@ -118,10 +144,12 @@ TEST_F(PrecacheURLTableTest, DeleteAllPrecachedBefore) {
|
| const base::Time kEndTime = base::Time::FromInternalValue(30);
|
| const base::Time kAfterTime = base::Time::FromInternalValue(40);
|
|
|
| - precache_url_table_->AddURL(GURL("http://old.com"), 1, true, kOldTime);
|
| - precache_url_table_->AddURL(GURL("http://before.com"), 1, true, kBeforeTime);
|
| - precache_url_table_->AddURL(GURL("http://end.com"), 1, true, kEndTime);
|
| - precache_url_table_->AddURL(GURL("http://after.com"), 1, true, kAfterTime);
|
| + precache_url_table_->AddURL(GURL("http://old.com"), 1, true, true, kOldTime);
|
| + precache_url_table_->AddURL(GURL("http://before.com"), 1, true, true,
|
| + kBeforeTime);
|
| + precache_url_table_->AddURL(GURL("http://end.com"), 1, true, true, kEndTime);
|
| + precache_url_table_->AddURL(GURL("http://after.com"), 1, true, true,
|
| + kAfterTime);
|
|
|
| precache_url_table_->DeleteAllPrecachedBefore(kEndTime);
|
|
|
|
|