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

Unified Diff: components/dom_distiller/core/distiller_unittest.cc

Issue 270663005: Use new DomDistillerJs Proto API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Meh, let's just accept an empty script during tests Created 6 years, 7 months 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 side-by-side diff with in-line comments
Download patch
Index: components/dom_distiller/core/distiller_unittest.cc
diff --git a/components/dom_distiller/core/distiller_unittest.cc b/components/dom_distiller/core/distiller_unittest.cc
index 115ca2d4fba7eccad55fe0dcad0a8aad20774d77..7157e71094faa5ce18b684af75ea6ec30e2a48f1 100644
--- a/components/dom_distiller/core/distiller_unittest.cc
+++ b/components/dom_distiller/core/distiller_unittest.cc
@@ -23,6 +23,8 @@
#include "net/url_request/url_request_context_getter.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/dom_distiller_js/dom_distiller.pb.h"
+#include "third_party/dom_distiller_js/dom_distiller_json_converter.h"
using std::vector;
using std::string;
@@ -43,22 +45,23 @@ const string GetImageName(int page_num, int image_num) {
return base::IntToString(page_num) + "_" + base::IntToString(image_num);
}
-scoped_ptr<base::ListValue> CreateDistilledValueReturnedFromJS(
+scoped_ptr<base::Value> CreateDistilledValueReturnedFromJS(
const string& title,
const string& content,
const vector<int>& image_indices,
const string& next_page_url,
const string& prev_page_url = "") {
- scoped_ptr<base::ListValue> list(new base::ListValue());
+ dom_distiller::proto::DomDistillerResult result;
+ result.set_title(title);
+ result.mutable_distilled_content()->set_html(content);
+ result.mutable_pagination_info()->set_next_page(next_page_url);
+ result.mutable_pagination_info()->set_prev_page(prev_page_url);
- list->AppendString(title);
- list->AppendString(content);
- list->AppendString(next_page_url);
- list->AppendString(prev_page_url);
for (size_t i = 0; i < image_indices.size(); ++i) {
- list->AppendString(kImageURLs[image_indices[i]]);
+ result.add_image_urls(kImageURLs[image_indices[i]]);
}
- return list.Pass();
+
+ return dom_distiller::proto::json::DomDistillerResult::WriteToValue(result);
}
// Return the sequence in which Distiller will distill pages.
@@ -144,7 +147,7 @@ scoped_ptr<MultipageDistillerData> CreateMultipageDistillerDataWithoutImages(
: "";
string prev_page_url =
(page_num > 0) ? result->page_urls[page_num - 1] : "";
- scoped_ptr<base::ListValue> distilled_value =
+ scoped_ptr<base::Value> distilled_value =
CreateDistilledValueReturnedFromJS(kTitle,
result->content[page_num],
result->image_ids[page_num],
@@ -237,6 +240,7 @@ class MockDistillerURLFetcherFactory : public DistillerURLFetcherFactory {
class DistillerTest : public testing::Test {
public:
virtual ~DistillerTest() {}
+
void OnDistillArticleDone(scoped_ptr<DistilledArticleProto> proto) {
article_proto_ = proto.Pass();
}
@@ -263,15 +267,15 @@ class DistillerTest : public testing::Test {
TestDistillerURLFetcherFactory url_fetcher_factory_;
};
-ACTION_P3(DistillerPageOnDistillationDone, distiller_page, url, list) {
- distiller_page->OnDistillationDone(url, list);
+ACTION_P3(DistillerPageOnDistillationDone, distiller_page, url, result) {
+ distiller_page->OnDistillationDone(url, result);
}
-scoped_ptr<DistillerPage> CreateMockDistillerPage(const base::Value* list,
+scoped_ptr<DistillerPage> CreateMockDistillerPage(const base::Value* result,
const GURL& url) {
MockDistillerPage* distiller_page = new MockDistillerPage();
EXPECT_CALL(*distiller_page, DistillPageImpl(url, _))
- .WillOnce(DistillerPageOnDistillationDone(distiller_page, url, list));
+ .WillOnce(DistillerPageOnDistillationDone(distiller_page, url, result));
return scoped_ptr<DistillerPage>(distiller_page).Pass();
}
@@ -305,10 +309,10 @@ scoped_ptr<DistillerPage> CreateMockDistillerPages(
TEST_F(DistillerTest, DistillPage) {
base::MessageLoopForUI loop;
- scoped_ptr<base::ListValue> list =
+ scoped_ptr<base::Value> result =
CreateDistilledValueReturnedFromJS(kTitle, kContent, vector<int>(), "");
distiller_.reset(new DistillerImpl(url_fetcher_factory_));
- DistillPage(kURL, CreateMockDistillerPage(list.get(), GURL(kURL)).Pass());
+ DistillPage(kURL, CreateMockDistillerPage(result.get(), GURL(kURL)).Pass());
base::MessageLoop::current()->RunUntilIdle();
EXPECT_EQ(kTitle, article_proto_->title());
EXPECT_EQ(article_proto_->pages_size(), 1);
@@ -322,10 +326,10 @@ TEST_F(DistillerTest, DistillPageWithImages) {
vector<int> image_indices;
image_indices.push_back(0);
image_indices.push_back(1);
- scoped_ptr<base::ListValue> list =
+ scoped_ptr<base::Value> result =
CreateDistilledValueReturnedFromJS(kTitle, kContent, image_indices, "");
distiller_.reset(new DistillerImpl(url_fetcher_factory_));
- DistillPage(kURL, CreateMockDistillerPage(list.get(), GURL(kURL)).Pass());
+ DistillPage(kURL, CreateMockDistillerPage(result.get(), GURL(kURL)).Pass());
base::MessageLoop::current()->RunUntilIdle();
EXPECT_EQ(kTitle, article_proto_->title());
EXPECT_EQ(article_proto_->pages_size(), 1);
@@ -371,10 +375,10 @@ TEST_F(DistillerTest, DistillLinkLoop) {
base::MessageLoopForUI loop;
// Create a loop, the next page is same as the current page. This could
// happen if javascript misparses a next page link.
- scoped_ptr<base::ListValue> list =
+ scoped_ptr<base::Value> result =
CreateDistilledValueReturnedFromJS(kTitle, kContent, vector<int>(), kURL);
distiller_.reset(new DistillerImpl(url_fetcher_factory_));
- DistillPage(kURL, CreateMockDistillerPage(list.get(), GURL(kURL)).Pass());
+ DistillPage(kURL, CreateMockDistillerPage(result.get(), GURL(kURL)).Pass());
base::MessageLoop::current()->RunUntilIdle();
EXPECT_EQ(kTitle, article_proto_->title());
EXPECT_EQ(article_proto_->pages_size(), 1);
@@ -389,7 +393,7 @@ TEST_F(DistillerTest, CheckMaxPageLimitExtraPage) {
// Note: Next page url of the last page of article is set. So distiller will
// try to do kMaxPagesInArticle + 1 calls if the max article limit does not
// work.
- scoped_ptr<base::ListValue> last_page_data =
+ scoped_ptr<base::Value> last_page_data =
CreateDistilledValueReturnedFromJS(
kTitle,
distiller_data->content[kMaxPagesInArticle - 1],
@@ -558,7 +562,7 @@ TEST_F(DistillerTest, CancelWithDelayedImageFetchCallback) {
base::MessageLoopForUI loop;
vector<int> image_indices;
image_indices.push_back(0);
- scoped_ptr<base::ListValue> distilled_value =
+ scoped_ptr<base::Value> distilled_value =
CreateDistilledValueReturnedFromJS(kTitle, kContent, image_indices, "");
TestDistillerURLFetcher* delayed_fetcher = new TestDistillerURLFetcher(true);
MockDistillerURLFetcherFactory url_fetcher_factory;
@@ -578,7 +582,7 @@ TEST_F(DistillerTest, CancelWithDelayedImageFetchCallback) {
TEST_F(DistillerTest, CancelWithDelayedJSCallback) {
base::MessageLoopForUI loop;
- scoped_ptr<base::ListValue> distilled_value =
+ scoped_ptr<base::Value> distilled_value =
CreateDistilledValueReturnedFromJS(kTitle, kContent, vector<int>(), "");
MockDistillerPage* distiller_page = NULL;
distiller_.reset(new DistillerImpl(url_fetcher_factory_));
« no previous file with comments | « components/dom_distiller/core/distiller_page.cc ('k') | components/dom_distiller/core/javascript/domdistiller.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698