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

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

Issue 11885021: Don't derive from ChromeURLDataManager::DataSource, and instead have these classes implement a dele… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: nits 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/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);
}

Powered by Google App Engine
This is Rietveld 408576698