1a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
2a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)// found in the LICENSE file.
4a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)
5a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)#include "chrome/browser/ui/sync/one_click_signin_bubble_links_delegate.h"
6a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)
7a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)#include "chrome/browser/ui/browser.h"
8a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)#include "chrome/browser/ui/tabs/tab_strip_model.h"
9a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)#include "chrome/test/base/in_process_browser_test.h"
10a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)
11a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)typedef InProcessBrowserTest OneClickSigninBubbleLinksDelegateBrowserTest;
12a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)
13a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleLinksDelegateBrowserTest,
14a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)                       AdvancedLink) {
15a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)  scoped_ptr<OneClickSigninBubbleDelegate> delegate_;
16a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)  delegate_.reset(new OneClickSigninBubbleLinksDelegate(browser()));
17a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)
18a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)  int starting_tab_count = browser()->tab_strip_model()->count();
19a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)
20a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)  // The current tab should be replaced.
21a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)  delegate_->OnAdvancedLinkClicked();
22a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)
23a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)  int tab_count = browser()->tab_strip_model()->count();
24a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)  EXPECT_EQ(starting_tab_count, tab_count);
25a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)}
26a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)
27a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleLinksDelegateBrowserTest,
28a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)                       LearnMoreLink) {
29a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)  scoped_ptr<OneClickSigninBubbleDelegate> delegate_;
30a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)  delegate_.reset(new OneClickSigninBubbleLinksDelegate(browser()));
31a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)
32a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)  int starting_tab_count = browser()->tab_strip_model()->count();
33a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)
34a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)  // A new tab should be opened.
35a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)  delegate_->OnLearnMoreLinkClicked(false);
36a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)
37a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)  int tab_count = browser()->tab_strip_model()->count();
38a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)  EXPECT_EQ(starting_tab_count + 1, tab_count);
39a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)}
40