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

Side by Side Diff: chrome/browser/ui/views/frame/browser_view_unittest.cc

Issue 17127002: Correctly integrate StoragePartition into TestingProfile. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix InstantNTP test. Created 7 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/frame/browser_view.h" 5 #include "chrome/browser/ui/views/frame/browser_view.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 8
9 #include "chrome/app/chrome_command_ids.h" 9 #include "chrome/app/chrome_command_ids.h"
10 #include "chrome/browser/autocomplete/autocomplete_classifier.h" 10 #include "chrome/browser/autocomplete/autocomplete_classifier.h"
11 #include "chrome/browser/autocomplete/autocomplete_classifier_factory.h" 11 #include "chrome/browser/autocomplete/autocomplete_classifier_factory.h"
12 #include "chrome/browser/predictors/predictor_database.h"
12 #include "chrome/browser/search_engines/template_url_service.h" 13 #include "chrome/browser/search_engines/template_url_service.h"
13 #include "chrome/browser/search_engines/template_url_service_factory.h" 14 #include "chrome/browser/search_engines/template_url_service_factory.h"
14 #include "chrome/browser/ui/browser_commands.h" 15 #include "chrome/browser/ui/browser_commands.h"
15 #include "chrome/browser/ui/tabs/tab_strip_model.h" 16 #include "chrome/browser/ui/tabs/tab_strip_model.h"
16 #include "chrome/browser/ui/views/bookmarks/bookmark_bar_view.h" 17 #include "chrome/browser/ui/views/bookmarks/bookmark_bar_view.h"
17 #include "chrome/browser/ui/views/frame/browser_view_layout.h" 18 #include "chrome/browser/ui/views/frame/browser_view_layout.h"
18 #include "chrome/browser/ui/views/frame/top_container_view.h" 19 #include "chrome/browser/ui/views/frame/top_container_view.h"
19 #include "chrome/browser/ui/views/infobars/infobar_container_view.h" 20 #include "chrome/browser/ui/views/infobars/infobar_container_view.h"
20 #include "chrome/browser/ui/views/tabs/tab_strip.h" 21 #include "chrome/browser/ui/views/tabs/tab_strip.h"
21 #include "chrome/browser/ui/views/toolbar_view.h" 22 #include "chrome/browser/ui/views/toolbar_view.h"
22 #include "chrome/common/url_constants.h" 23 #include "chrome/common/url_constants.h"
23 #include "chrome/test/base/browser_with_test_window_test.h" 24 #include "chrome/test/base/browser_with_test_window_test.h"
24 #include "chrome/test/base/scoped_testing_local_state.h" 25 #include "chrome/test/base/scoped_testing_local_state.h"
25 #include "chrome/test/base/testing_browser_process.h" 26 #include "chrome/test/base/testing_browser_process.h"
27 #include "chrome/test/base/testing_io_thread_state.h"
28 #include "content/public/test/test_utils.h"
26 #include "grit/theme_resources.h" 29 #include "grit/theme_resources.h"
27 #include "testing/gtest/include/gtest/gtest.h" 30 #include "testing/gtest/include/gtest/gtest.h"
28 #include "ui/views/controls/single_split_view.h" 31 #include "ui/views/controls/single_split_view.h"
29 #include "ui/views/controls/webview/webview.h" 32 #include "ui/views/controls/webview/webview.h"
30 33
31 #if defined(OS_CHROMEOS) 34 #if defined(OS_CHROMEOS)
32 #include "chrome/browser/chromeos/input_method/input_method_configuration.h" 35 #include "chrome/browser/chromeos/input_method/input_method_configuration.h"
33 #include "chrome/browser/chromeos/input_method/mock_input_method_manager.h" 36 #include "chrome/browser/chromeos/input_method/mock_input_method_manager.h"
34 #endif 37 #endif
35 38
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 virtual void TearDown() OVERRIDE; 76 virtual void TearDown() OVERRIDE;
74 virtual TestingProfile* CreateProfile() OVERRIDE; 77 virtual TestingProfile* CreateProfile() OVERRIDE;
75 virtual BrowserWindow* CreateBrowserWindow() OVERRIDE; 78 virtual BrowserWindow* CreateBrowserWindow() OVERRIDE;
76 79
77 void Init(); 80 void Init();
78 BrowserView* browser_view() { return browser_view_; } 81 BrowserView* browser_view() { return browser_view_; }
79 82
80 private: 83 private:
81 BrowserView* browser_view_; // Not owned. 84 BrowserView* browser_view_; // Not owned.
82 scoped_ptr<ScopedTestingLocalState> local_state_; 85 scoped_ptr<ScopedTestingLocalState> local_state_;
86 scoped_ptr<predictors::PredictorDatabase> predictor_db_;
87 scoped_ptr<chrome::TestingIOThreadState> testing_io_thread_state_;
83 DISALLOW_COPY_AND_ASSIGN(BrowserViewTest); 88 DISALLOW_COPY_AND_ASSIGN(BrowserViewTest);
84 }; 89 };
85 90
86 BrowserViewTest::BrowserViewTest() 91 BrowserViewTest::BrowserViewTest()
87 : browser_view_(NULL) { 92 : browser_view_(NULL) {
88 } 93 }
89 94
90 void BrowserViewTest::SetUp() { 95 void BrowserViewTest::SetUp() {
91 Init(); 96 Init();
92 // Memory ownership is tricky here. BrowserView has taken ownership of 97 // Memory ownership is tricky here. BrowserView has taken ownership of
93 // |browser|, so BrowserWithTestWindowTest cannot continue to own it. 98 // |browser|, so BrowserWithTestWindowTest cannot continue to own it.
94 ASSERT_TRUE(release_browser()); 99 ASSERT_TRUE(release_browser());
95 } 100 }
96 101
97 void BrowserViewTest::TearDown() { 102 void BrowserViewTest::TearDown() {
98 // Clean up any tabs we opened, otherwise Browser crashes in destruction. 103 // Clean up any tabs we opened, otherwise Browser crashes in destruction.
99 browser_view_->browser()->tab_strip_model()->CloseAllTabs(); 104 browser_view_->browser()->tab_strip_model()->CloseAllTabs();
100 // Ensure the Browser is reset before BrowserWithTestWindowTest cleans up 105 // Ensure the Browser is reset before BrowserWithTestWindowTest cleans up
101 // the Profile. 106 // the Profile.
102 browser_view_->GetWidget()->CloseNow(); 107 browser_view_->GetWidget()->CloseNow();
103 browser_view_ = NULL; 108 browser_view_ = NULL;
109 content::RunAllPendingInMessageLoop(content::BrowserThread::DB);
104 BrowserWithTestWindowTest::TearDown(); 110 BrowserWithTestWindowTest::TearDown();
111 testing_io_thread_state_.reset();
112 predictor_db_.reset();
105 #if defined(OS_CHROMEOS) 113 #if defined(OS_CHROMEOS)
106 chromeos::input_method::Shutdown(); 114 chromeos::input_method::Shutdown();
107 #endif 115 #endif
108 local_state_.reset(NULL); 116 local_state_.reset(NULL);
109 } 117 }
110 118
111 TestingProfile* BrowserViewTest::CreateProfile() { 119 TestingProfile* BrowserViewTest::CreateProfile() {
112 TestingProfile* profile = BrowserWithTestWindowTest::CreateProfile(); 120 TestingProfile* profile = BrowserWithTestWindowTest::CreateProfile();
113 // TemplateURLService is normally NULL during testing. Instant extended 121 // TemplateURLService is normally NULL during testing. Instant extended
114 // needs this service so set a custom factory function. 122 // needs this service so set a custom factory function.
(...skipping 12 matching lines...) Expand all
127 return NULL; 135 return NULL;
128 } 136 }
129 137
130 void BrowserViewTest::Init() { 138 void BrowserViewTest::Init() {
131 local_state_.reset( 139 local_state_.reset(
132 new ScopedTestingLocalState(TestingBrowserProcess::GetGlobal())); 140 new ScopedTestingLocalState(TestingBrowserProcess::GetGlobal()));
133 #if defined(OS_CHROMEOS) 141 #if defined(OS_CHROMEOS)
134 chromeos::input_method::InitializeForTesting( 142 chromeos::input_method::InitializeForTesting(
135 new chromeos::input_method::MockInputMethodManager); 143 new chromeos::input_method::MockInputMethodManager);
136 #endif 144 #endif
145 testing_io_thread_state_.reset(new chrome::TestingIOThreadState());
137 BrowserWithTestWindowTest::SetUp(); 146 BrowserWithTestWindowTest::SetUp();
147 predictor_db_.reset(new predictors::PredictorDatabase(GetProfile()));
138 browser_view_ = static_cast<BrowserView*>(browser()->window()); 148 browser_view_ = static_cast<BrowserView*>(browser()->window());
139 } 149 }
140 150
141 // Test basic construction and initialization. 151 // Test basic construction and initialization.
142 TEST_F(BrowserViewTest, BrowserView) { 152 TEST_F(BrowserViewTest, BrowserView) {
143 // The window is owned by the native widget, not the test class. 153 // The window is owned by the native widget, not the test class.
144 EXPECT_FALSE(window()); 154 EXPECT_FALSE(window());
145 // |browser_view_| owns the Browser, not the test class. 155 // |browser_view_| owns the Browser, not the test class.
146 EXPECT_FALSE(browser()); 156 EXPECT_FALSE(browser());
147 EXPECT_TRUE(browser_view()->browser()); 157 EXPECT_TRUE(browser_view()->browser());
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 virtual gfx::Rect GetRestoredBounds() const OVERRIDE { 292 virtual gfx::Rect GetRestoredBounds() const OVERRIDE {
283 return gfx::Rect(); 293 return gfx::Rect();
284 } 294 }
285 virtual bool IsMaximized() const OVERRIDE { 295 virtual bool IsMaximized() const OVERRIDE {
286 return false; 296 return false;
287 } 297 }
288 }; 298 };
289 299
290 BrowserViewIncognitoSwitcherTest() 300 BrowserViewIncognitoSwitcherTest()
291 : browser_view_(NULL) {} 301 : browser_view_(NULL) {}
292 virtual ~BrowserViewIncognitoSwitcherTest() {}
293 302
294 virtual void SetUp() OVERRIDE { 303 virtual void SetUp() OVERRIDE {
295 Init(); 304 Init();
296 browser_view_->Init(browser()); 305 browser_view_->Init(browser());
297 (new BrowserFrame(browser_view_))->InitBrowserFrame(); 306 (new BrowserFrame(browser_view_))->InitBrowserFrame();
298 browser_view_->SetBounds(gfx::Rect(10, 10, 500, 500)); 307 browser_view_->SetBounds(gfx::Rect(10, 10, 500, 500));
299 browser_view_->Show(); 308 browser_view_->Show();
300 // Memory ownership is tricky here. BrowserView has taken ownership of 309 // Memory ownership is tricky here. BrowserView has taken ownership of
301 // |browser|, so BrowserWithTestWindowTest cannot continue to own it. 310 // |browser|, so BrowserWithTestWindowTest cannot continue to own it.
302 ASSERT_TRUE(release_browser()); 311 ASSERT_TRUE(release_browser());
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 // Test initial state. 353 // Test initial state.
345 EXPECT_TRUE(browser_view()->IsTabStripVisible()); 354 EXPECT_TRUE(browser_view()->IsTabStripVisible());
346 // Validate whether the window switcher button is the target for the position 355 // Validate whether the window switcher button is the target for the position
347 // passed in. 356 // passed in.
348 gfx::Point switcher_point(browser_view()->window_switcher_button()->x() + 2, 357 gfx::Point switcher_point(browser_view()->window_switcher_button()->x() + 2,
349 browser_view()->window_switcher_button()->y()); 358 browser_view()->window_switcher_button()->y());
350 EXPECT_EQ(browser_view()->GetEventHandlerForPoint(switcher_point), 359 EXPECT_EQ(browser_view()->GetEventHandlerForPoint(switcher_point),
351 browser_view()->window_switcher_button()); 360 browser_view()->window_switcher_button());
352 } 361 }
353 #endif 362 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698