diff options
author | glen@chromium.org <glen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-16 07:04:42 +0000 |
---|---|---|
committer | glen@chromium.org <glen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-16 07:04:42 +0000 |
commit | 76688089aca3fd527d2d4ca3c81170f7e532c811 (patch) | |
tree | 993f88a0f62e34754abca1b2d28a82c9ed8141c9 /chrome/browser/dom_ui | |
parent | 449c5e76fcd8fc265b4be054d3783d63648ed6e0 (diff) | |
download | chromium_src-76688089aca3fd527d2d4ca3c81170f7e532c811.zip chromium_src-76688089aca3fd527d2d4ca3c81170f7e532c811.tar.gz chromium_src-76688089aca3fd527d2d4ca3c81170f7e532c811.tar.bz2 |
Attempt to fix leaks in DOMUISources test
TBR=arv
Review URL: http://codereview.chromium.org/115441
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16232 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/dom_ui')
-rw-r--r-- | chrome/browser/dom_ui/dom_ui_theme_source_unittest.cc | 78 |
1 files changed, 40 insertions, 38 deletions
diff --git a/chrome/browser/dom_ui/dom_ui_theme_source_unittest.cc b/chrome/browser/dom_ui/dom_ui_theme_source_unittest.cc index 56501d2..b62231c 100644 --- a/chrome/browser/dom_ui/dom_ui_theme_source_unittest.cc +++ b/chrome/browser/dom_ui/dom_ui_theme_source_unittest.cc @@ -25,63 +25,65 @@ class MockThemeSource : public DOMUIThemeSource { size_t result_data_size_; }; -// A mock profile -class MockProfile : public TestingProfile { +class DOMUISourcesTest : public testing::Test { public: - ThemeProvider* GetThemeProvider() { return new BrowserThemeProvider(); } -}; + TestingProfile* profile() const { return profile_.get(); } + MockThemeSource* theme_source() const { return theme_source_.get(); } + private: + virtual void SetUp() { + profile_.reset(new TestingProfile()); + profile_.get()->CreateThemeProvider(); + theme_source_ = new MockThemeSource(profile_.get()); + } + virtual void TearDown() { + theme_source_ = NULL; + profile_.reset(NULL); + } -TEST(DOMUISources, ThemeSourceMimeTypes) { - MockProfile* profile = new MockProfile(); - DOMUIThemeSource* theme_source = new DOMUIThemeSource(profile); + scoped_ptr<TestingProfile> profile_; + scoped_refptr<MockThemeSource> theme_source_; +}; - EXPECT_EQ(theme_source->GetMimeType("css/newtab.css"), "text/css"); - EXPECT_EQ(theme_source->GetMimeType("css/newtab.css?foo"), "text/css"); - EXPECT_EQ(theme_source->GetMimeType("WRONGURL"), "image/png"); +TEST_F(DOMUISourcesTest, ThemeSourceMimeTypes) { + EXPECT_EQ(theme_source()->GetMimeType("css/newtab.css"), "text/css"); + EXPECT_EQ(theme_source()->GetMimeType("css/newtab.css?foo"), "text/css"); + EXPECT_EQ(theme_source()->GetMimeType("WRONGURL"), "image/png"); } -TEST(DOMUISources, ThemeSourceImages) { - MockProfile* profile = new MockProfile(); - MockThemeSource* theme_source = new MockThemeSource(profile); - +TEST_F(DOMUISourcesTest, ThemeSourceImages) { // Our test data. Rather than comparing the data itself, we just compare // its size. - ThemeProvider* tp = profile->GetThemeProvider(); - SkBitmap* image = tp->GetBitmapNamed(IDR_THEME_FRAME); + SkBitmap* image = ResourceBundle::GetSharedInstance().GetBitmapNamed(IDR_THEME_FRAME); std::vector<unsigned char> png_bytes; PNGEncoder::EncodeBGRASkBitmap(*image, false, &png_bytes); - theme_source->StartDataRequest("theme_frame", 1); - EXPECT_EQ(theme_source->result_request_id_, 1); - EXPECT_EQ(theme_source->result_data_size_, png_bytes.size()); + theme_source()->StartDataRequest("theme_frame", 1); + EXPECT_EQ(theme_source()->result_request_id_, 1); + EXPECT_EQ(theme_source()->result_data_size_, png_bytes.size()); - theme_source->StartDataRequest("theme_toolbar", 2); - EXPECT_EQ(theme_source->result_request_id_, 2); - EXPECT_NE(theme_source->result_data_size_, png_bytes.size()); + theme_source()->StartDataRequest("theme_toolbar", 2); + EXPECT_EQ(theme_source()->result_request_id_, 2); + EXPECT_NE(theme_source()->result_data_size_, png_bytes.size()); } -// TODO(glen): Reenable. -/* -TEST(DOMUISources, ThemeSourceCSS) { - MockProfile* profile = new MockProfile(); - MockThemeSource* theme_source = new MockThemeSource(profile); - +TEST_F(DOMUISourcesTest, ThemeSourceCSS) { // Generating the test data for the NTP CSS would just involve copying the // method, or being super brittle and hard-coding the result (requiring // an update to the unittest every time the CSS template changes), so we // just check for a successful request and data that is non-null. - theme_source->StartDataRequest("css/newtab.css", 1); - EXPECT_EQ(theme_source->result_request_id_, 1); - EXPECT_NE(theme_source->result_data_size_, 0); + size_t empty_size = 0; + + theme_source()->StartDataRequest("css/newtab.css", 1); + EXPECT_EQ(theme_source()->result_request_id_, 1); + EXPECT_NE(theme_source()->result_data_size_, empty_size); - theme_source->StartDataRequest("css/newtab.css?pie", 3); - EXPECT_EQ(theme_source->result_request_id_, 3); - EXPECT_NE(theme_source->result_data_size_, 0); + theme_source()->StartDataRequest("css/newtab.css?pie", 3); + EXPECT_EQ(theme_source()->result_request_id_, 3); + EXPECT_NE(theme_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", 7); - EXPECT_EQ(theme_source->result_request_id_, 7); - EXPECT_EQ(theme_source->result_data_size_, 0); + theme_source()->StartDataRequest("css/WRONGURL", 7); + EXPECT_EQ(theme_source()->result_request_id_, 7); + EXPECT_EQ(theme_source()->result_data_size_, empty_size); } -*/ |