Index: chrome/browser/ui/webui/chrome_web_ui_data_source_unittest.cc |
=================================================================== |
--- chrome/browser/ui/webui/chrome_web_ui_data_source_unittest.cc (revision 178598) |
+++ chrome/browser/ui/webui/chrome_web_ui_data_source_unittest.cc (working copy) |
@@ -10,57 +10,50 @@ |
#include "grit/webui_resources.h" |
#include "testing/gtest/include/gtest/gtest.h" |
-class MockChromeWebUIDataSource : public ChromeWebUIDataSource { |
+class ChromeWebUIDataSourceTest : public testing::Test { |
public: |
- MockChromeWebUIDataSource() |
- : ChromeWebUIDataSource("host"), |
- result_data_(NULL) { |
- } |
+ ChromeWebUIDataSourceTest() : result_data_(NULL) {} |
+ virtual ~ChromeWebUIDataSourceTest() {} |
+ ChromeWebUIDataSource* source() { return source_.get(); } |
void StartDataRequest(const std::string& path) { |
- ChromeWebUIDataSource::StartDataRequest( |
+ source_->StartDataRequest( |
path, |
false, |
- base::Bind(&MockChromeWebUIDataSource::SendResult, this)); |
+ base::Bind(&ChromeWebUIDataSourceTest::SendResult, |
+ base::Unretained(this))); |
} |
std::string GetMimeType(const std::string& path) const { |
- return ChromeWebUIDataSource::GetMimeType(path); |
+ return source_->GetMimeType(path); |
} |
scoped_refptr<base::RefCountedMemory> result_data_; |
private: |
- // Store response for later comparisons. |
- void SendResult(base::RefCountedMemory* data) { |
- result_data_ = data; |
- } |
- |
- virtual ~MockChromeWebUIDataSource() {} |
-}; |
- |
-class ChromeWebUIDataSourceTest : public testing::Test { |
- public: |
- ChromeWebUIDataSourceTest() {} |
- virtual ~ChromeWebUIDataSourceTest() {} |
- MockChromeWebUIDataSource* source() { return source_.get(); } |
- |
- private: |
virtual void SetUp() { |
- source_ = make_scoped_refptr(new MockChromeWebUIDataSource()); |
+ content::WebUIDataSource* source = ChromeWebUIDataSource::Create("host"); |
+ ChromeWebUIDataSource* source_impl = static_cast<ChromeWebUIDataSource*>( |
+ source); |
+ source_ = make_scoped_refptr(source_impl); |
} |
virtual void TearDown() { |
} |
- scoped_refptr<MockChromeWebUIDataSource> source_; |
+ // Store response for later comparisons. |
+ void SendResult(base::RefCountedMemory* data) { |
+ result_data_ = data; |
+ } |
+ |
+ scoped_refptr<ChromeWebUIDataSource> source_; |
}; |
TEST_F(ChromeWebUIDataSourceTest, EmptyStrings) { |
source()->SetJsonPath("strings.js"); |
- source()->StartDataRequest("strings.js"); |
+ StartDataRequest("strings.js"); |
std::string result(reinterpret_cast<const char*>( |
- source()->result_data_->front()), source()->result_data_->size()); |
+ result_data_->front()), result_data_->size()); |
EXPECT_NE(result.find("var templateData = {"), std::string::npos); |
EXPECT_NE(result.find("};"), std::string::npos); |
} |
@@ -69,51 +62,51 @@ |
source()->SetJsonPath("strings.js"); |
source()->AddString("planet", ASCIIToUTF16("pluto")); |
source()->AddLocalizedString("button", IDS_OK); |
- source()->StartDataRequest("strings.js"); |
+ StartDataRequest("strings.js"); |
std::string result(reinterpret_cast<const char*>( |
- source()->result_data_->front()), source()->result_data_->size()); |
+ result_data_->front()), result_data_->size()); |
EXPECT_NE(result.find("\"planet\":\"pluto\""), std::string::npos); |
EXPECT_NE(result.find("\"button\":\"OK\""), std::string::npos); |
} |
TEST_F(ChromeWebUIDataSourceTest, DefaultResource) { |
source()->SetDefaultResource(IDR_WEBUI_I18N_PROCESS_JS); |
- source()->StartDataRequest("foobar" ); |
+ StartDataRequest("foobar" ); |
std::string result( |
- reinterpret_cast<const char*>(source()->result_data_->front()), |
- source()->result_data_->size()); |
+ reinterpret_cast<const char*>(result_data_->front()), |
+ result_data_->size()); |
EXPECT_NE(result.find("i18nTemplate.process"), std::string::npos); |
- source()->StartDataRequest("strings.js"); |
+ StartDataRequest("strings.js"); |
result = std::string( |
- reinterpret_cast<const char*>(source()->result_data_->front()), |
- source()->result_data_->size()); |
+ reinterpret_cast<const char*>(result_data_->front()), |
+ result_data_->size()); |
EXPECT_NE(result.find("i18nTemplate.process"), std::string::npos); |
} |
TEST_F(ChromeWebUIDataSourceTest, NamedResource) { |
source()->SetDefaultResource(IDR_WEBUI_I18N_PROCESS_JS); |
source()->AddResourcePath("foobar", IDR_WEBUI_I18N_TEMPLATE_JS); |
- source()->StartDataRequest("foobar"); |
+ StartDataRequest("foobar"); |
std::string result( |
- reinterpret_cast<const char*>(source()->result_data_->front()), |
- source()->result_data_->size()); |
+ reinterpret_cast<const char*>(result_data_->front()), |
+ result_data_->size()); |
EXPECT_NE(result.find("var i18nTemplate"), std::string::npos); |
- source()->StartDataRequest("strings.js"); |
+ StartDataRequest("strings.js"); |
result = std::string( |
- reinterpret_cast<const char*>(source()->result_data_->front()), |
- source()->result_data_->size()); |
+ reinterpret_cast<const char*>(result_data_->front()), |
+ result_data_->size()); |
EXPECT_NE(result.find("i18nTemplate.process"), std::string::npos); |
} |
TEST_F(ChromeWebUIDataSourceTest, MimeType) { |
const char* html = "text/html"; |
const char* js = "application/javascript"; |
- EXPECT_EQ(source()->GetMimeType(""), html); |
- EXPECT_EQ(source()->GetMimeType("foo"), html); |
- EXPECT_EQ(source()->GetMimeType("foo.html"), html); |
- EXPECT_EQ(source()->GetMimeType(".js"), js); |
- EXPECT_EQ(source()->GetMimeType("foo.js"), js); |
- EXPECT_EQ(source()->GetMimeType("js"), html); |
- EXPECT_EQ(source()->GetMimeType("foojs"), html); |
- EXPECT_EQ(source()->GetMimeType("foo.jsp"), html); |
+ EXPECT_EQ(GetMimeType(""), html); |
+ EXPECT_EQ(GetMimeType("foo"), html); |
+ EXPECT_EQ(GetMimeType("foo.html"), html); |
+ EXPECT_EQ(GetMimeType(".js"), js); |
+ EXPECT_EQ(GetMimeType("foo.js"), js); |
+ EXPECT_EQ(GetMimeType("js"), html); |
+ EXPECT_EQ(GetMimeType("foojs"), html); |
+ EXPECT_EQ(GetMimeType("foo.jsp"), html); |
} |