14e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 24e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 34e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// found in the LICENSE file. 44e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 54e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "components/dom_distiller/core/article_entry.h" 64e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 74e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "sync/protocol/sync.pb.h" 84e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 94e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 104e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)using sync_pb::EntitySpecifics; 114e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)using sync_pb::ArticlePage; 124e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)using sync_pb::ArticleSpecifics; 134e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)using testing::AssertionResult; 144e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)using testing::AssertionSuccess; 154e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)using testing::AssertionFailure; 164e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 174e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace dom_distiller { 184e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 194e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)TEST(DomDistillerArticleEntryTest, TestIsEntryValid) { 204e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) ArticleEntry entry; 214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_FALSE(IsEntryValid(entry)); 224e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) entry.set_entry_id("entry0"); 234e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_TRUE(IsEntryValid(entry)); 244e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) ArticleEntryPage* page0 = entry.add_pages(); 254e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_FALSE(IsEntryValid(entry)); 264e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) page0->set_url("example.com/1"); 274e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_TRUE(IsEntryValid(entry)); 284e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)} 294e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 304e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)TEST(DomDistillerArticleEntryTest, TestAreEntriesEqual) { 314e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) ArticleEntry left; 324e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) ArticleEntry right; 334e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) left.set_entry_id("entry0"); 344e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) right.set_entry_id("entry1"); 354e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_FALSE(AreEntriesEqual(left, right)); 364e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) right = left; 374e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_TRUE(AreEntriesEqual(left, right)); 384e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 394e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) left.set_title("a title"); 404e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_FALSE(AreEntriesEqual(left, right)); 414e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) right.set_title("a different title"); 424e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_FALSE(AreEntriesEqual(left, right)); 434e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) right.set_title("a title"); 444e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_TRUE(AreEntriesEqual(left, right)); 454e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 464e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) ArticleEntryPage left_page; 474e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) left_page.set_url("example.com/1"); 484e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) *left.add_pages() = left_page; 494e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 504e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_FALSE(AreEntriesEqual(left, right)); 514e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 524e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) ArticleEntryPage right_page; 534e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) right_page.set_url("foo.example.com/1"); 544e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) *right.add_pages() = right_page; 554e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_FALSE(AreEntriesEqual(left, right)); 564e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 574e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) right = left; 584e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_TRUE(AreEntriesEqual(left, right)); 594e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 604e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) *right.add_pages() = right_page; 614e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_FALSE(AreEntriesEqual(left, right)); 624e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)} 634e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 644e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)} // namespace dom_distiller 65