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

Side by Side Diff: chrome/browser/ui/startup/startup_browser_creator_impl_unittest.cc

Issue 2469363002: Tech Debt Repayment for StartupBrowserCreatorImpl Refactor (Closed)
Patch Set: Fixing CrOS unused function Created 3 years, 10 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/startup/startup_browser_creator_impl.h" 5 #include "chrome/browser/ui/startup/startup_browser_creator_impl.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "chrome/browser/ui/startup/startup_tab_provider.h" 8 #include "chrome/browser/ui/startup/startup_tab_provider.h"
9 #include "chrome/common/url_constants.cc" 9 #include "chrome/common/url_constants.cc"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 base::FilePath(), base::CommandLine(base::CommandLine::NO_PROGRAM), 179 base::FilePath(), base::CommandLine(base::CommandLine::NO_PROGRAM),
180 chrome::startup::IS_FIRST_RUN); 180 chrome::startup::IS_FIRST_RUN);
181 181
182 StartupTabs output = impl.DetermineStartupTabs(provider_allows_ntp, 182 StartupTabs output = impl.DetermineStartupTabs(provider_allows_ntp,
183 StartupTabs(), false, false); 183 StartupTabs(), false, false);
184 ASSERT_EQ(3U, output.size()); 184 ASSERT_EQ(3U, output.size());
185 EXPECT_EQ("reset-trigger", output[0].url.host()); 185 EXPECT_EQ("reset-trigger", output[0].url.host());
186 EXPECT_EQ("new-tab", output[1].url.host()); 186 EXPECT_EQ("new-tab", output[1].url.host());
187 EXPECT_EQ("pinned", output[2].url.host()); 187 EXPECT_EQ("pinned", output[2].url.host());
188 } 188 }
189
190 TEST(StartupBrowserCreatorImplTest, DetermineBrowserOpenBehavior_Startup) {
191 SessionStartupPref pref_default(SessionStartupPref::Type::DEFAULT);
192 SessionStartupPref pref_last(SessionStartupPref::Type::LAST);
193 SessionStartupPref pref_urls(SessionStartupPref::Type::URLS);
194
195 // The most typical case: startup, not recovering from a crash, no switches.
196 // Test each pref with and without command-line tabs.
197 StartupBrowserCreatorImpl::BrowserOpenBehavior output =
Peter Kasting 2017/02/06 23:26:40 Nit: This file is really verbose because of how lo
198 StartupBrowserCreatorImpl::DetermineBrowserOpenBehavior(
199 pref_default, StartupBrowserCreatorImpl::PROCESS_STARTUP);
200
Peter Kasting 2017/02/06 23:26:40 Nit: Why a blank line between setting and checking
201 ASSERT_EQ(StartupBrowserCreatorImpl::BrowserOpenBehavior::NEW, output);
Peter Kasting 2017/02/06 23:26:40 Nit: Should probably be EXPECT (several places)
202
203 output = StartupBrowserCreatorImpl::DetermineBrowserOpenBehavior(
204 pref_default, StartupBrowserCreatorImpl::PROCESS_STARTUP |
205 StartupBrowserCreatorImpl::HAS_CMD_LINE_TABS);
206
207 ASSERT_EQ(StartupBrowserCreatorImpl::BrowserOpenBehavior::NEW, output);
208
209 output = StartupBrowserCreatorImpl::DetermineBrowserOpenBehavior(
210 pref_urls, StartupBrowserCreatorImpl::PROCESS_STARTUP);
211
212 ASSERT_EQ(StartupBrowserCreatorImpl::BrowserOpenBehavior::NEW, output);
213
214 output = StartupBrowserCreatorImpl::DetermineBrowserOpenBehavior(
215 pref_urls, StartupBrowserCreatorImpl::PROCESS_STARTUP |
216 StartupBrowserCreatorImpl::HAS_CMD_LINE_TABS);
217
218 ASSERT_EQ(StartupBrowserCreatorImpl::BrowserOpenBehavior::NEW, output);
219
220 output = StartupBrowserCreatorImpl::DetermineBrowserOpenBehavior(
221 pref_last, StartupBrowserCreatorImpl::PROCESS_STARTUP);
222
223 ASSERT_EQ(StartupBrowserCreatorImpl::BrowserOpenBehavior::SYNCHRONOUS_RESTORE,
224 output);
225
226 output = StartupBrowserCreatorImpl::DetermineBrowserOpenBehavior(
227 pref_last, StartupBrowserCreatorImpl::PROCESS_STARTUP |
228 StartupBrowserCreatorImpl::HAS_CMD_LINE_TABS);
229
230 ASSERT_EQ(StartupBrowserCreatorImpl::BrowserOpenBehavior::SYNCHRONOUS_RESTORE,
231 output);
232 }
233
234 TEST(StartupBrowserCreatorImplTest, DetermineBrowserOpenBehavior_CmdLineTabs) {
235 SessionStartupPref pref_default(SessionStartupPref::Type::DEFAULT);
236 SessionStartupPref pref_last(SessionStartupPref::Type::LAST);
237 SessionStartupPref pref_urls(SessionStartupPref::Type::URLS);
238
239 // Command line tabs after startup should prompt use of existing window,
240 // regardless of pref.
241 StartupBrowserCreatorImpl::BrowserOpenBehavior output =
242 StartupBrowserCreatorImpl::DetermineBrowserOpenBehavior(
243 pref_default, StartupBrowserCreatorImpl::HAS_CMD_LINE_TABS);
244
245 ASSERT_EQ(StartupBrowserCreatorImpl::BrowserOpenBehavior::USE_EXISTING,
246 output);
247
248 output = StartupBrowserCreatorImpl::DetermineBrowserOpenBehavior(
249 pref_urls, StartupBrowserCreatorImpl::HAS_CMD_LINE_TABS);
250
251 ASSERT_EQ(StartupBrowserCreatorImpl::BrowserOpenBehavior::USE_EXISTING,
252 output);
253
254 output = StartupBrowserCreatorImpl::DetermineBrowserOpenBehavior(
255 pref_last, StartupBrowserCreatorImpl::HAS_CMD_LINE_TABS);
256
257 ASSERT_EQ(StartupBrowserCreatorImpl::BrowserOpenBehavior::USE_EXISTING,
258 output);
259
260 // Exception: this can be overridden by switch.
Peter Kasting 2017/02/06 23:26:40 Nit: switch -> passing a switch (2 places)
261 output = StartupBrowserCreatorImpl::DetermineBrowserOpenBehavior(
262 pref_urls, StartupBrowserCreatorImpl::HAS_NEW_WINDOW_SWITCH |
263 StartupBrowserCreatorImpl::HAS_CMD_LINE_TABS);
264
265 ASSERT_EQ(StartupBrowserCreatorImpl::BrowserOpenBehavior::NEW, output);
266 }
267
268 TEST(StartupBrowserCreatorImplTest, DetermineBrowserOpenBehavior_PostCrash) {
269 SessionStartupPref pref_last(SessionStartupPref::Type::LAST);
270
271 // Launching after crash should block session restore.
272 StartupBrowserCreatorImpl::BrowserOpenBehavior output =
273 StartupBrowserCreatorImpl::DetermineBrowserOpenBehavior(
274 pref_last, StartupBrowserCreatorImpl::PROCESS_STARTUP |
275 StartupBrowserCreatorImpl::IS_POST_CRASH_LAUNCH);
276
277 ASSERT_EQ(StartupBrowserCreatorImpl::BrowserOpenBehavior::NEW, output);
278
279 // Exception: this can be overridden by switch.
280
Peter Kasting 2017/02/06 23:26:40 Nit: No blank line
281 output = StartupBrowserCreatorImpl::DetermineBrowserOpenBehavior(
282 pref_last, StartupBrowserCreatorImpl::PROCESS_STARTUP |
283 StartupBrowserCreatorImpl::IS_POST_CRASH_LAUNCH |
284 StartupBrowserCreatorImpl::HAS_RESTORE_SWITCH);
285
286 ASSERT_EQ(StartupBrowserCreatorImpl::BrowserOpenBehavior::SYNCHRONOUS_RESTORE,
287 output);
288 }
289
290 TEST(StartupBrowserCreatorImplTest, DetermineBrowserOpenBehavior_NotStartup) {
291 SessionStartupPref pref_default(SessionStartupPref::Type::DEFAULT);
292 SessionStartupPref pref_last(SessionStartupPref::Type::LAST);
293 SessionStartupPref pref_urls(SessionStartupPref::Type::URLS);
294
295 // Launch after startup without command-line tabs should always create a new
296 // window.
297 StartupBrowserCreatorImpl::BrowserOpenBehavior output =
298 StartupBrowserCreatorImpl::DetermineBrowserOpenBehavior(pref_default, 0);
299
300 ASSERT_EQ(StartupBrowserCreatorImpl::BrowserOpenBehavior::NEW, output);
301
302 output =
303 StartupBrowserCreatorImpl::DetermineBrowserOpenBehavior(pref_last, 0);
304
305 ASSERT_EQ(StartupBrowserCreatorImpl::BrowserOpenBehavior::NEW, output);
306
307 output =
308 StartupBrowserCreatorImpl::DetermineBrowserOpenBehavior(pref_urls, 0);
309
310 ASSERT_EQ(StartupBrowserCreatorImpl::BrowserOpenBehavior::NEW, output);
311 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698