Index: components/dom_distiller/core/viewer_unittest.cc |
diff --git a/components/dom_distiller/core/viewer_unittest.cc b/components/dom_distiller/core/viewer_unittest.cc |
index 15c839da134efbf17f576250e1177b0d3a3dac18..861e691a70983848bb61e6bb1f58e75d1519bd50 100644 |
--- a/components/dom_distiller/core/viewer_unittest.cc |
+++ b/components/dom_distiller/core/viewer_unittest.cc |
@@ -9,7 +9,9 @@ |
#include "components/dom_distiller/core/dom_distiller_test_util.h" |
#include "components/dom_distiller/core/task_tracker.h" |
#include "components/dom_distiller/core/url_constants.h" |
+#include "grit/components_strings.h" |
#include "testing/gtest/include/gtest/gtest.h" |
+#include "ui/base/l10n/l10n_util.h" |
namespace dom_distiller { |
@@ -168,4 +170,109 @@ TEST_F(DomDistillerViewerTest, TestGetDistilledPageFontFamilyJsOutput) { |
0); |
} |
+TEST_F(DomDistillerViewerTest, TestTitleAndContentAreNeverEmpty) { |
+ std::string some_title = "some title"; |
nyquist
2014/09/19 23:47:04
should these be const?
kuan
2014/09/19 23:51:31
Done.
|
+ std::string some_content = "some content"; |
+ std::string no_title = |
+ l10n_util::GetStringUTF8(IDS_DOM_DISTILLER_VIEWER_NO_DATA_TITLE); |
+ std::string no_content = |
+ l10n_util::GetStringUTF8(IDS_DOM_DISTILLER_VIEWER_NO_DATA_CONTENT); |
+ |
+ { // Test non-empty title and content for article. |
+ scoped_ptr<DistilledArticleProto> article_proto( |
+ new DistilledArticleProto()); |
+ article_proto->set_title(some_title); |
+ (*(article_proto->add_pages())).set_html(some_content); |
+ std::string html = viewer::GetUnsafeArticleHtml(article_proto.get(), |
+ DistilledPagePrefs::LIGHT, DistilledPagePrefs::SERIF); |
+ EXPECT_NE(std::string::npos, html.find(some_title)); |
+ EXPECT_NE(std::string::npos, html.find(some_content)); |
+ EXPECT_EQ(std::string::npos, html.find(no_title)); |
+ EXPECT_EQ(std::string::npos, html.find(no_content)); |
+ } |
+ |
+ { // Test empty title and content for article. |
+ scoped_ptr<DistilledArticleProto> article_proto( |
+ new DistilledArticleProto()); |
+ article_proto->set_title(""); |
+ (*(article_proto->add_pages())).set_html(""); |
+ std::string html = viewer::GetUnsafeArticleHtml(article_proto.get(), |
+ DistilledPagePrefs::LIGHT, DistilledPagePrefs::SERIF); |
+ EXPECT_NE(std::string::npos, html.find(no_title)); |
+ EXPECT_NE(std::string::npos, html.find(no_content)); |
+ EXPECT_EQ(std::string::npos, html.find(some_title)); |
+ EXPECT_EQ(std::string::npos, html.find(some_content)); |
+ } |
+ |
+ { // Test missing title and non-empty content for article. |
+ scoped_ptr<DistilledArticleProto> article_proto( |
+ new DistilledArticleProto()); |
+ (*(article_proto->add_pages())).set_html(some_content); |
+ std::string html = viewer::GetUnsafeArticleHtml(article_proto.get(), |
+ DistilledPagePrefs::LIGHT, DistilledPagePrefs::SERIF); |
+ EXPECT_NE(std::string::npos, html.find(no_title)); |
+ EXPECT_NE(std::string::npos, html.find(no_content)); |
+ EXPECT_EQ(std::string::npos, html.find(some_title)); |
+ EXPECT_EQ(std::string::npos, html.find(some_content)); |
+ } |
+ |
+ { // Test non-empty title and missing content for article. |
+ scoped_ptr<DistilledArticleProto> article_proto( |
+ new DistilledArticleProto()); |
+ article_proto->set_title(some_title); |
+ std::string html = viewer::GetUnsafeArticleHtml(article_proto.get(), |
+ DistilledPagePrefs::LIGHT, DistilledPagePrefs::SERIF); |
+ EXPECT_NE(std::string::npos, html.find(no_title)); |
+ EXPECT_NE(std::string::npos, html.find(no_content)); |
+ EXPECT_EQ(std::string::npos, html.find(some_title)); |
+ EXPECT_EQ(std::string::npos, html.find(some_content)); |
+ } |
+ |
+ { // Test non-empty title and content for page. |
+ scoped_ptr<DistilledPageProto> page_proto(new DistilledPageProto()); |
+ page_proto->set_title(some_title); |
+ page_proto->set_html(some_content); |
+ std::string html = viewer::GetUnsafePartialArticleHtml(page_proto.get(), |
+ DistilledPagePrefs::LIGHT, DistilledPagePrefs::SERIF); |
+ EXPECT_NE(std::string::npos, html.find(some_title)); |
+ EXPECT_NE(std::string::npos, html.find(some_content)); |
+ EXPECT_EQ(std::string::npos, html.find(no_title)); |
+ EXPECT_EQ(std::string::npos, html.find(no_content)); |
+ } |
+ |
+ { // Test empty title and content for page. |
+ scoped_ptr<DistilledPageProto> page_proto(new DistilledPageProto()); |
+ page_proto->set_title(""); |
+ page_proto->set_html(""); |
+ std::string html = viewer::GetUnsafePartialArticleHtml(page_proto.get(), |
+ DistilledPagePrefs::LIGHT, DistilledPagePrefs::SERIF); |
+ EXPECT_NE(std::string::npos, html.find(no_title)); |
+ EXPECT_NE(std::string::npos, html.find(no_content)); |
+ EXPECT_EQ(std::string::npos, html.find(some_title)); |
+ EXPECT_EQ(std::string::npos, html.find(some_content)); |
+ } |
+ |
+ { // Test missing title and non-empty content for page. |
+ scoped_ptr<DistilledPageProto> page_proto(new DistilledPageProto()); |
+ page_proto->set_html(some_content); |
+ std::string html = viewer::GetUnsafePartialArticleHtml(page_proto.get(), |
+ DistilledPagePrefs::LIGHT, DistilledPagePrefs::SERIF); |
+ EXPECT_NE(std::string::npos, html.find(no_title)); |
+ EXPECT_NE(std::string::npos, html.find(some_content)); |
+ EXPECT_EQ(std::string::npos, html.find(some_title)); |
+ EXPECT_EQ(std::string::npos, html.find(no_content)); |
+ } |
+ |
+ { // Test non-empty title and missing content for page. |
+ scoped_ptr<DistilledPageProto> page_proto(new DistilledPageProto()); |
+ page_proto->set_title(some_title); |
+ std::string html = viewer::GetUnsafePartialArticleHtml(page_proto.get(), |
+ DistilledPagePrefs::LIGHT, DistilledPagePrefs::SERIF); |
+ EXPECT_NE(std::string::npos, html.find(some_title)); |
+ EXPECT_NE(std::string::npos, html.find(no_content)); |
+ EXPECT_EQ(std::string::npos, html.find(no_title)); |
+ EXPECT_EQ(std::string::npos, html.find(some_content)); |
+ } |
+} |
+ |
} // namespace dom_distiller |