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

Unified Diff: chrome/browser/ui/webui/chrome_web_ui_data_source_unittest.cc

Issue 11881055: Simplify WebUI data sources. Currently WebUI data sources implement a URLDataSourceDelegate interfa… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix issue in about_ui exposed by cros tests Created 7 years, 11 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: chrome/browser/ui/webui/chrome_web_ui_data_source_unittest.cc
===================================================================
--- chrome/browser/ui/webui/chrome_web_ui_data_source_unittest.cc (revision 176942)
+++ chrome/browser/ui/webui/chrome_web_ui_data_source_unittest.cc (working copy)
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/bind.h"
#include "base/memory/ref_counted_memory.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/ui/webui/chrome_web_ui_data_source.h"
@@ -9,35 +10,32 @@
#include "grit/generated_resources.h"
#include "testing/gtest/include/gtest/gtest.h"
-// A mock data source (so we can override SendResponse to get at its data).
class MockChromeWebUIDataSource : public ChromeWebUIDataSource {
public:
MockChromeWebUIDataSource()
: ChromeWebUIDataSource("host"),
- result_request_id_(-1),
result_data_(NULL) {
}
- // Subvert protected methods.
- virtual void StartDataRequest(
- const std::string& path, bool is_incognito, int request_id) OVERRIDE {
- ChromeWebUIDataSource::StartDataRequest(path, is_incognito, request_id);
+ void StartDataRequest(const std::string& path) {
+ ChromeWebUIDataSource::StartDataRequest(
+ path,
+ false,
+ base::Bind(&MockChromeWebUIDataSource::SendResult, this));
}
- virtual std::string GetMimeType(const std::string& path) const OVERRIDE {
+ std::string GetMimeType(const std::string& path) const {
return ChromeWebUIDataSource::GetMimeType(path);
}
+ scoped_refptr<base::RefCountedMemory> result_data_;
+
+ private:
// Store response for later comparisons.
- virtual void SendResponse(int request_id, base::RefCountedMemory* data) {
- result_request_id_ = request_id;
+ void SendResult(base::RefCountedMemory* data) {
result_data_ = data;
}
- int result_request_id_;
- scoped_refptr<base::RefCountedMemory> result_data_;
-
- private:
virtual ~MockChromeWebUIDataSource() {}
};
@@ -60,8 +58,7 @@
TEST_F(ChromeWebUIDataSourceTest, EmptyStrings) {
source()->set_json_path("strings.js");
- source()->StartDataRequest("strings.js" , false, 1);
- EXPECT_EQ(source()->result_request_id_, 1);
+ source()->StartDataRequest("strings.js");
std::string result(reinterpret_cast<const char*>(
source()->result_data_->front()), source()->result_data_->size());
EXPECT_NE(result.find("var templateData = {"), std::string::npos);
@@ -72,8 +69,7 @@
source()->set_json_path("strings.js");
source()->AddString("planet", ASCIIToUTF16("pluto"));
source()->AddLocalizedString("button", IDS_OK);
- source()->StartDataRequest("strings.js" , false, 2);
- EXPECT_EQ(source()->result_request_id_, 2);
+ source()->StartDataRequest("strings.js");
std::string result(reinterpret_cast<const char*>(
source()->result_data_->front()), source()->result_data_->size());
EXPECT_NE(result.find("\"planet\":\"pluto\""), std::string::npos);
@@ -82,14 +78,12 @@
TEST_F(ChromeWebUIDataSourceTest, DefaultResource) {
source()->set_default_resource(IDR_I18N_PROCESS_JS);
- source()->StartDataRequest("foobar" , false, 3);
- EXPECT_EQ(source()->result_request_id_, 3);
+ source()->StartDataRequest("foobar" );
std::string result(
reinterpret_cast<const char*>(source()->result_data_->front()),
source()->result_data_->size());
EXPECT_NE(result.find("i18nTemplate.process"), std::string::npos);
- source()->StartDataRequest("strings.js" , false, 4);
- EXPECT_EQ(source()->result_request_id_, 4);
+ source()->StartDataRequest("strings.js");
result = std::string(
reinterpret_cast<const char*>(source()->result_data_->front()),
source()->result_data_->size());
@@ -99,14 +93,12 @@
TEST_F(ChromeWebUIDataSourceTest, NamedResource) {
source()->set_default_resource(IDR_I18N_PROCESS_JS);
source()->add_resource_path("foobar", IDR_I18N_TEMPLATE_JS);
- source()->StartDataRequest("foobar" , false, 5);
- EXPECT_EQ(source()->result_request_id_, 5);
+ source()->StartDataRequest("foobar");
std::string result(
reinterpret_cast<const char*>(source()->result_data_->front()),
source()->result_data_->size());
EXPECT_NE(result.find("var i18nTemplate"), std::string::npos);
- source()->StartDataRequest("strings.js" , false, 4);
- EXPECT_EQ(source()->result_request_id_, 4);
+ source()->StartDataRequest("strings.js");
result = std::string(
reinterpret_cast<const char*>(source()->result_data_->front()),
source()->result_data_->size());

Powered by Google App Engine
This is Rietveld 408576698