Index: chrome/browser/ui/webui/theme_source_unittest.cc |
=================================================================== |
--- chrome/browser/ui/webui/theme_source_unittest.cc (revision 176443) |
+++ chrome/browser/ui/webui/theme_source_unittest.cc (working copy) |
@@ -5,6 +5,7 @@ |
#include "base/memory/ref_counted_memory.h" |
#include "base/message_loop.h" |
#include "chrome/browser/profiles/profile.h" |
+#include "chrome/browser/ui/webui/chrome_url_data_manager.h" |
#include "chrome/browser/ui/webui/theme_source.h" |
#include "chrome/common/url_constants.h" |
#include "chrome/test/base/testing_profile.h" |
@@ -14,16 +15,16 @@ |
using content::BrowserThread; |
-// A mock ThemeSource (so we can override SendResponse to get at its data). |
-class MockThemeSource : public ThemeSource { |
+// A mock URLDataSource (so we can override SendResponse to get at its data). |
+class MockURLDataSource : public URLDataSource { |
public: |
- explicit MockThemeSource(Profile* profile) |
- : ThemeSource(profile), |
- result_request_id_(-1), |
- result_data_size_(0) { |
+ explicit MockURLDataSource(content::URLDataSourceDelegate* delegate) |
+ : URLDataSource(std::string(), delegate), |
+ result_request_id_(-1), result_data_size_(0) { |
} |
- virtual void SendResponse(int request_id, base::RefCountedMemory* data) { |
+ virtual void SendResponse(int request_id, |
+ base::RefCountedMemory* data) OVERRIDE { |
result_data_size_ = data ? data->size() : 0; |
result_request_id_ = request_id; |
} |
@@ -32,7 +33,7 @@ |
size_t result_data_size_; |
private: |
- ~MockThemeSource() {} |
+ ~MockURLDataSource() {} |
}; |
class WebUISourcesTest : public testing::Test { |
@@ -40,15 +41,20 @@ |
WebUISourcesTest() : ui_thread_(BrowserThread::UI, MessageLoop::current()) {} |
TestingProfile* profile() const { return profile_.get(); } |
- MockThemeSource* theme_source() const { return theme_source_.get(); } |
+ ThemeSource* theme_source() const { return theme_source_; } |
+ MockURLDataSource* data_source() const { return data_source_.get(); } |
+ |
private: |
virtual void SetUp() { |
profile_.reset(new TestingProfile()); |
- theme_source_ = new MockThemeSource(profile_.get()); |
+ theme_source_ = new ThemeSource(profile_.get()); |
+ data_source_ = new MockURLDataSource(theme_source_); |
+ theme_source_->set_url_data_source_for_testing(data_source_.get()); |
} |
virtual void TearDown() { |
theme_source_ = NULL; |
+ data_source_ = NULL; |
profile_.reset(NULL); |
} |
@@ -56,7 +62,8 @@ |
content::TestBrowserThread ui_thread_; |
scoped_ptr<TestingProfile> profile_; |
- scoped_refptr<MockThemeSource> theme_source_; |
+ scoped_refptr<MockURLDataSource> data_source_; |
+ ThemeSource* theme_source_; |
}; |
TEST_F(WebUISourcesTest, ThemeSourceMimeTypes) { |
@@ -71,12 +78,12 @@ |
// invalidated that. We now just check that the image exists. |
theme_source()->StartDataRequest("IDR_THEME_FRAME_INCOGNITO", true, 1); |
size_t min = 0; |
- EXPECT_EQ(theme_source()->result_request_id_, 1); |
- EXPECT_GT(theme_source()->result_data_size_, min); |
+ EXPECT_EQ(data_source()->result_request_id_, 1); |
+ EXPECT_GT(data_source()->result_data_size_, min); |
theme_source()->StartDataRequest("IDR_THEME_TOOLBAR", true, 2); |
- EXPECT_EQ(theme_source()->result_request_id_, 2); |
- EXPECT_GT(theme_source()->result_data_size_, min); |
+ EXPECT_EQ(data_source()->result_request_id_, 2); |
+ EXPECT_GT(data_source()->result_data_size_, min); |
} |
TEST_F(WebUISourcesTest, ThemeSourceCSS) { |
@@ -89,15 +96,15 @@ |
size_t empty_size = 0; |
theme_source()->StartDataRequest("css/new_tab_theme.css", false, 1); |
- EXPECT_EQ(theme_source()->result_request_id_, 1); |
- EXPECT_NE(theme_source()->result_data_size_, empty_size); |
+ EXPECT_EQ(data_source()->result_request_id_, 1); |
+ EXPECT_NE(data_source()->result_data_size_, empty_size); |
theme_source()->StartDataRequest("css/new_tab_theme.css?pie", false, 3); |
- EXPECT_EQ(theme_source()->result_request_id_, 3); |
- EXPECT_NE(theme_source()->result_data_size_, empty_size); |
+ EXPECT_EQ(data_source()->result_request_id_, 3); |
+ EXPECT_NE(data_source()->result_data_size_, empty_size); |
// Check that we send NULL back when we can't find what we're looking for. |
theme_source()->StartDataRequest("css/WRONGURL", false, 7); |
- EXPECT_EQ(theme_source()->result_request_id_, 7); |
- EXPECT_EQ(theme_source()->result_data_size_, empty_size); |
+ EXPECT_EQ(data_source()->result_request_id_, 7); |
+ EXPECT_EQ(data_source()->result_data_size_, empty_size); |
} |