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

Side by Side Diff: components/precache/core/precache_url_table_unittest.cc

Issue 27047003: Precache tracking database (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@precache
Patch Set: Addressed comments Created 7 years, 1 month 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "components/precache/core/precache_url_table.h"
6
7 #include <map>
8
9 #include "base/basictypes.h"
10 #include "base/compiler_specific.h"
11 #include "base/time/time.h"
12 #include "sql/connection.h"
13 #include "testing/gtest/include/gtest/gtest.h"
14
15 namespace precache {
16
17 namespace {
18
19 base::Time GetTimeFromString(const char* time_string) {
20 base::Time time;
21 EXPECT_TRUE(base::Time::FromString(time_string, &time));
davidben 2013/11/11 19:06:26 Now that time zones are no longer relevant for key
sclittle 2013/11/19 04:03:41 Done.
22 return time;
23 }
24
25 class PrecacheURLTableTest : public testing::Test {
26 public:
27 PrecacheURLTableTest() {}
28 virtual ~PrecacheURLTableTest() {}
29
30 protected:
31 virtual void SetUp() OVERRIDE {
32 precache_url_table_.reset(new PrecacheURLTable());
33 db_.reset(new sql::Connection());
34 ASSERT_TRUE(db_->OpenInMemory());
35 precache_url_table_->Init(db_.get());
36 }
37
38 scoped_ptr<PrecacheURLTable> precache_url_table_;
39 scoped_ptr<sql::Connection> db_;
40 };
41
42 TEST_F(PrecacheURLTableTest, AddURLWithNoExistingRow) {
43 const base::Time kTime = GetTimeFromString("11 Oct 2013, 12:00:00");
44 precache_url_table_->AddURL(GURL("http://url.com"), kTime);
45
46 std::map<GURL, base::Time> expected_map;
47 expected_map[GURL("http://url.com")] = kTime;
48
49 std::map<GURL, base::Time> actual_map;
50 precache_url_table_->GetAllDataForTesting(&actual_map);
51 EXPECT_EQ(expected_map, actual_map);
52 }
53
54 TEST_F(PrecacheURLTableTest, AddURLWithExistingRow) {
55 const base::Time kOldTime = GetTimeFromString("11 Oct 2013, 12:00:00");
56 const base::Time kNewTime = GetTimeFromString("11 Oct 2013, 12:00:00");
57 precache_url_table_->AddURL(GURL("http://url.com"), kOldTime);
58 precache_url_table_->AddURL(GURL("http://url.com"), kNewTime);
59
60 std::map<GURL, base::Time> expected_map;
61 expected_map[GURL("http://url.com")] = kNewTime;
62
63 std::map<GURL, base::Time> actual_map;
64 precache_url_table_->GetAllDataForTesting(&actual_map);
65 EXPECT_EQ(expected_map, actual_map);
66 }
67
68 TEST_F(PrecacheURLTableTest, DeleteURL) {
69 const base::Time kStaysTime = GetTimeFromString("11 Oct 2013, 12:00:00");
70 const base::Time kDeletedTime = GetTimeFromString("11 Oct 2013, 13:00:00");
71
72 precache_url_table_->AddURL(GURL("http://stays.com"), kStaysTime);
73 precache_url_table_->AddURL(GURL("http://deleted.com"), kDeletedTime);
74
75 precache_url_table_->DeleteURL(GURL("http://deleted.com"));
76
77 std::map<GURL, base::Time> expected_map;
78 expected_map[GURL("http://stays.com")] = kStaysTime;
79
80 std::map<GURL, base::Time> actual_map;
81 precache_url_table_->GetAllDataForTesting(&actual_map);
82 EXPECT_EQ(expected_map, actual_map);
83 }
84
85 TEST_F(PrecacheURLTableTest, HasURL) {
86 EXPECT_FALSE(precache_url_table_->HasURL(GURL("http://url.com")));
87
88 precache_url_table_->AddURL(GURL("http://url.com"),
89 GetTimeFromString("11 Oct 2013, 12:00:00"));
90
91 EXPECT_TRUE(precache_url_table_->HasURL(GURL("http://url.com")));
92
93 precache_url_table_->DeleteURL(GURL("http://url.com"));
94
95 EXPECT_FALSE(precache_url_table_->HasURL(GURL("http://url.com")));
96 }
97
98 TEST_F(PrecacheURLTableTest, DeleteAllPrecachedBefore) {
99 const base::Time kOldTime = GetTimeFromString("11 Oct 2013, 11:59:58");
100 const base::Time kBeforeTime = GetTimeFromString("11 Oct 2013, 11:59:59");
101 const base::Time kEndTime = GetTimeFromString("11 Oct 2013, 12:00:00");
102 const base::Time kAfterTime = GetTimeFromString("11 Oct 2013, 12:00:01");
103
104 precache_url_table_->AddURL(GURL("http://old.com"), kOldTime);
105 precache_url_table_->AddURL(GURL("http://before.com"), kBeforeTime);
106 precache_url_table_->AddURL(GURL("http://end.com"), kEndTime);
107 precache_url_table_->AddURL(GURL("http://after.com"), kAfterTime);
108
109 precache_url_table_->DeleteAllPrecachedBefore(kEndTime);
110
111 std::map<GURL, base::Time> expected_map;
112 expected_map[GURL("http://end.com")] = kEndTime;
113 expected_map[GURL("http://after.com")] = kAfterTime;
114
115 std::map<GURL, base::Time> actual_map;
116 precache_url_table_->GetAllDataForTesting(&actual_map);
117 EXPECT_EQ(expected_map, actual_map);
118 }
119
120 } // namespace
121
122 } // namespace precache
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698