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

Side by Side Diff: components/reading_list/ios/reading_list_entry_unittest.cc

Issue 2525663002: Refactor Reading List Model to use URL as key. (Closed)
Patch Set: fix Created 4 years 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
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/reading_list/ios/reading_list_entry.h" 5 #include "components/reading_list/ios/reading_list_entry.h"
6 6
7 #include "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "base/test/simple_test_tick_clock.h" 8 #include "base/test/simple_test_tick_clock.h"
9 #include "components/reading_list/ios/proto/reading_list.pb.h" 9 #include "components/reading_list/ios/proto/reading_list.pb.h"
10 #include "components/sync/protocol/reading_list_specifics.pb.h" 10 #include "components/sync/protocol/reading_list_specifics.pb.h"
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 EXPECT_EQ(2, e.FailedDownloadCounter()); 185 EXPECT_EQ(2, e.FailedDownloadCounter());
186 } 186 }
187 187
188 // Tests that the reading list entry is correctly encoded to 188 // Tests that the reading list entry is correctly encoded to
189 // sync_pb::ReadingListSpecifics. 189 // sync_pb::ReadingListSpecifics.
190 TEST(ReadingListEntry, AsReadingListSpecifics) { 190 TEST(ReadingListEntry, AsReadingListSpecifics) {
191 ReadingListEntry entry(GURL("http://example.com/"), "bar"); 191 ReadingListEntry entry(GURL("http://example.com/"), "bar");
192 int64_t creation_time_us = entry.UpdateTime(); 192 int64_t creation_time_us = entry.UpdateTime();
193 193
194 std::unique_ptr<sync_pb::ReadingListSpecifics> pb_entry( 194 std::unique_ptr<sync_pb::ReadingListSpecifics> pb_entry(
195 entry.AsReadingListSpecifics(false)); 195 entry.AsReadingListSpecifics());
196 EXPECT_EQ(pb_entry->entry_id(), "http://example.com/"); 196 EXPECT_EQ(pb_entry->entry_id(), "http://example.com/");
197 EXPECT_EQ(pb_entry->url(), "http://example.com/"); 197 EXPECT_EQ(pb_entry->url(), "http://example.com/");
198 EXPECT_EQ(pb_entry->title(), "bar"); 198 EXPECT_EQ(pb_entry->title(), "bar");
199 EXPECT_EQ(pb_entry->creation_time_us(), creation_time_us); 199 EXPECT_EQ(pb_entry->creation_time_us(), creation_time_us);
200 EXPECT_EQ(pb_entry->update_time_us(), entry.UpdateTime()); 200 EXPECT_EQ(pb_entry->update_time_us(), entry.UpdateTime());
201 EXPECT_EQ(pb_entry->status(), sync_pb::ReadingListSpecifics::UNREAD); 201 EXPECT_EQ(pb_entry->status(), sync_pb::ReadingListSpecifics::UNREAD);
202 202
203 entry.MarkEntryUpdated(); 203 entry.SetRead(true);
204 EXPECT_NE(entry.UpdateTime(), creation_time_us); 204 EXPECT_NE(entry.UpdateTime(), creation_time_us);
205 std::unique_ptr<sync_pb::ReadingListSpecifics> updated_pb_entry( 205 std::unique_ptr<sync_pb::ReadingListSpecifics> updated_pb_entry(
206 entry.AsReadingListSpecifics(true)); 206 entry.AsReadingListSpecifics());
207 EXPECT_EQ(updated_pb_entry->creation_time_us(), creation_time_us); 207 EXPECT_EQ(updated_pb_entry->creation_time_us(), creation_time_us);
208 EXPECT_EQ(updated_pb_entry->update_time_us(), entry.UpdateTime()); 208 EXPECT_EQ(updated_pb_entry->update_time_us(), entry.UpdateTime());
209 EXPECT_EQ(updated_pb_entry->status(), sync_pb::ReadingListSpecifics::READ); 209 EXPECT_EQ(updated_pb_entry->status(), sync_pb::ReadingListSpecifics::READ);
210 } 210 }
211 211
212 // Tests that the reading list entry is correctly parsed from 212 // Tests that the reading list entry is correctly parsed from
213 // sync_pb::ReadingListSpecifics. 213 // sync_pb::ReadingListSpecifics.
214 TEST(ReadingListEntry, FromReadingListSpecifics) { 214 TEST(ReadingListEntry, FromReadingListSpecifics) {
215 std::unique_ptr<sync_pb::ReadingListSpecifics> pb_entry = 215 std::unique_ptr<sync_pb::ReadingListSpecifics> pb_entry =
216 base::MakeUnique<sync_pb::ReadingListSpecifics>(); 216 base::MakeUnique<sync_pb::ReadingListSpecifics>();
(...skipping 12 matching lines...) Expand all
229 EXPECT_EQ(entry->FailedDownloadCounter(), 0); 229 EXPECT_EQ(entry->FailedDownloadCounter(), 0);
230 } 230 }
231 231
232 // Tests that the reading list entry is correctly encoded to 232 // Tests that the reading list entry is correctly encoded to
233 // reading_list::ReadingListLocal. 233 // reading_list::ReadingListLocal.
234 TEST(ReadingListEntry, AsReadingListLocal) { 234 TEST(ReadingListEntry, AsReadingListLocal) {
235 ReadingListEntry entry(GURL("http://example.com/"), "bar"); 235 ReadingListEntry entry(GURL("http://example.com/"), "bar");
236 int64_t creation_time_us = entry.UpdateTime(); 236 int64_t creation_time_us = entry.UpdateTime();
237 237
238 std::unique_ptr<reading_list::ReadingListLocal> pb_entry( 238 std::unique_ptr<reading_list::ReadingListLocal> pb_entry(
239 entry.AsReadingListLocal(false)); 239 entry.AsReadingListLocal());
240 EXPECT_EQ(pb_entry->entry_id(), "http://example.com/"); 240 EXPECT_EQ(pb_entry->entry_id(), "http://example.com/");
241 EXPECT_EQ(pb_entry->url(), "http://example.com/"); 241 EXPECT_EQ(pb_entry->url(), "http://example.com/");
242 EXPECT_EQ(pb_entry->title(), "bar"); 242 EXPECT_EQ(pb_entry->title(), "bar");
243 EXPECT_EQ(pb_entry->creation_time_us(), creation_time_us); 243 EXPECT_EQ(pb_entry->creation_time_us(), creation_time_us);
244 EXPECT_EQ(pb_entry->update_time_us(), entry.UpdateTime()); 244 EXPECT_EQ(pb_entry->update_time_us(), entry.UpdateTime());
245 EXPECT_EQ(pb_entry->status(), reading_list::ReadingListLocal::UNREAD); 245 EXPECT_EQ(pb_entry->status(), reading_list::ReadingListLocal::UNREAD);
246 EXPECT_EQ(pb_entry->distillation_state(), 246 EXPECT_EQ(pb_entry->distillation_state(),
247 reading_list::ReadingListLocal::WAITING); 247 reading_list::ReadingListLocal::WAITING);
248 EXPECT_EQ(pb_entry->distilled_path(), ""); 248 EXPECT_EQ(pb_entry->distilled_path(), "");
249 EXPECT_EQ(pb_entry->failed_download_counter(), 0); 249 EXPECT_EQ(pb_entry->failed_download_counter(), 0);
250 EXPECT_NE(pb_entry->backoff(), ""); 250 EXPECT_NE(pb_entry->backoff(), "");
251 251
252 entry.SetDistilledState(ReadingListEntry::WILL_RETRY); 252 entry.SetDistilledState(ReadingListEntry::WILL_RETRY);
253 std::unique_ptr<reading_list::ReadingListLocal> will_retry_pb_entry( 253 std::unique_ptr<reading_list::ReadingListLocal> will_retry_pb_entry(
254 entry.AsReadingListLocal(true)); 254 entry.AsReadingListLocal());
255 EXPECT_EQ(will_retry_pb_entry->distillation_state(), 255 EXPECT_EQ(will_retry_pb_entry->distillation_state(),
256 reading_list::ReadingListLocal::WILL_RETRY); 256 reading_list::ReadingListLocal::WILL_RETRY);
257 EXPECT_EQ(will_retry_pb_entry->failed_download_counter(), 1); 257 EXPECT_EQ(will_retry_pb_entry->failed_download_counter(), 1);
258 258
259 entry.SetDistilledPath(base::FilePath("distilled/page.html")); 259 entry.SetDistilledPath(base::FilePath("distilled/page.html"));
260 entry.SetRead(true);
260 entry.MarkEntryUpdated(); 261 entry.MarkEntryUpdated();
261 EXPECT_NE(entry.UpdateTime(), creation_time_us); 262 EXPECT_NE(entry.UpdateTime(), creation_time_us);
262 std::unique_ptr<reading_list::ReadingListLocal> distilled_pb_entry( 263 std::unique_ptr<reading_list::ReadingListLocal> distilled_pb_entry(
263 entry.AsReadingListLocal(true)); 264 entry.AsReadingListLocal());
264 EXPECT_EQ(distilled_pb_entry->creation_time_us(), creation_time_us); 265 EXPECT_EQ(distilled_pb_entry->creation_time_us(), creation_time_us);
265 EXPECT_EQ(distilled_pb_entry->update_time_us(), entry.UpdateTime()); 266 EXPECT_EQ(distilled_pb_entry->update_time_us(), entry.UpdateTime());
266 EXPECT_NE(distilled_pb_entry->backoff(), ""); 267 EXPECT_NE(distilled_pb_entry->backoff(), "");
267 EXPECT_EQ(distilled_pb_entry->status(), reading_list::ReadingListLocal::READ); 268 EXPECT_EQ(distilled_pb_entry->status(), reading_list::ReadingListLocal::READ);
268 EXPECT_EQ(distilled_pb_entry->distillation_state(), 269 EXPECT_EQ(distilled_pb_entry->distillation_state(),
269 reading_list::ReadingListLocal::PROCESSED); 270 reading_list::ReadingListLocal::PROCESSED);
270 EXPECT_EQ(distilled_pb_entry->distilled_path(), "distilled/page.html"); 271 EXPECT_EQ(distilled_pb_entry->distilled_path(), "distilled/page.html");
271 EXPECT_EQ(distilled_pb_entry->failed_download_counter(), 0); 272 EXPECT_EQ(distilled_pb_entry->failed_download_counter(), 0);
272 } 273 }
273 274
274 // Tests that the reading list entry is correctly parsed from 275 // Tests that the reading list entry is correctly parsed from
275 // sync_pb::ReadingListLocal. 276 // sync_pb::ReadingListLocal.
276 TEST(ReadingListEntry, FromReadingListLocal) { 277 TEST(ReadingListEntry, FromReadingListLocal) {
277 ReadingListEntry entry(GURL("http://example.com/"), "title"); 278 ReadingListEntry entry(GURL("http://example.com/"), "title");
278 base::Time next_call = base::Time::Now() + entry.TimeUntilNextTry(); 279 base::Time next_call = base::Time::Now() + entry.TimeUntilNextTry();
279 280
280 std::unique_ptr<reading_list::ReadingListLocal> pb_entry( 281 std::unique_ptr<reading_list::ReadingListLocal> pb_entry(
281 entry.AsReadingListLocal(false)); 282 entry.AsReadingListLocal());
282 283
283 pb_entry->set_entry_id("http://example.com/"); 284 pb_entry->set_entry_id("http://example.com/");
284 pb_entry->set_url("http://example.com/"); 285 pb_entry->set_url("http://example.com/");
285 pb_entry->set_title("title"); 286 pb_entry->set_title("title");
286 pb_entry->set_creation_time_us(1); 287 pb_entry->set_creation_time_us(1);
287 pb_entry->set_update_time_us(2); 288 pb_entry->set_update_time_us(2);
288 pb_entry->set_status(reading_list::ReadingListLocal::UNREAD); 289 pb_entry->set_status(reading_list::ReadingListLocal::UNREAD);
289 pb_entry->set_distillation_state(reading_list::ReadingListLocal::WAITING); 290 pb_entry->set_distillation_state(reading_list::ReadingListLocal::WAITING);
290 pb_entry->set_failed_download_counter(2); 291 pb_entry->set_failed_download_counter(2);
291 292
(...skipping 26 matching lines...) Expand all
318 EXPECT_EQ(sync_entry.URL().spec(), "http://example2.com/"); 319 EXPECT_EQ(sync_entry.URL().spec(), "http://example2.com/");
319 EXPECT_EQ(sync_entry.Title(), "title2"); 320 EXPECT_EQ(sync_entry.Title(), "title2");
320 EXPECT_EQ(sync_entry.UpdateTime(), sync_update_time_us); 321 EXPECT_EQ(sync_entry.UpdateTime(), sync_update_time_us);
321 EXPECT_EQ(sync_entry.FailedDownloadCounter(), 0); 322 EXPECT_EQ(sync_entry.FailedDownloadCounter(), 0);
322 EXPECT_EQ(sync_entry.DistilledState(), ReadingListEntry::PROCESSED); 323 EXPECT_EQ(sync_entry.DistilledState(), ReadingListEntry::PROCESSED);
323 EXPECT_EQ(sync_entry.DistilledPath().value(), "distilled/page.html"); 324 EXPECT_EQ(sync_entry.DistilledPath().value(), "distilled/page.html");
324 base::Time sync_next_call = base::Time::Now() + sync_entry.TimeUntilNextTry(); 325 base::Time sync_next_call = base::Time::Now() + sync_entry.TimeUntilNextTry();
325 base::TimeDelta delta = next_call - sync_next_call; 326 base::TimeDelta delta = next_call - sync_next_call;
326 EXPECT_NEAR(delta.InMillisecondsRoundedUp(), 0, 10); 327 EXPECT_NEAR(delta.InMillisecondsRoundedUp(), 0, 10);
327 } 328 }
OLDNEW
« no previous file with comments | « components/reading_list/ios/reading_list_entry.cc ('k') | components/reading_list/ios/reading_list_model.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698