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
3// found in the LICENSE file.
4
5#include "chrome/browser/ui/sync/one_click_signin_bubble_links_delegate.h"
6
7#include "chrome/browser/ui/browser.h"
8#include "chrome/browser/ui/tabs/tab_strip_model.h"
9#include "chrome/test/base/in_process_browser_test.h"
10
11typedef InProcessBrowserTest OneClickSigninBubbleLinksDelegateBrowserTest;
12
13IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleLinksDelegateBrowserTest,
14                       AdvancedLink) {
15  scoped_ptr<OneClickSigninBubbleDelegate> delegate_;
16  delegate_.reset(new OneClickSigninBubbleLinksDelegate(browser()));
17
18  int starting_tab_count = browser()->tab_strip_model()->count();
19
20  // The current tab should be replaced.
21  delegate_->OnAdvancedLinkClicked();
22
23  int tab_count = browser()->tab_strip_model()->count();
24  EXPECT_EQ(starting_tab_count, tab_count);
25}
26
27IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleLinksDelegateBrowserTest,
28                       LearnMoreLink) {
29  scoped_ptr<OneClickSigninBubbleDelegate> delegate_;
30  delegate_.reset(new OneClickSigninBubbleLinksDelegate(browser()));
31
32  int starting_tab_count = browser()->tab_strip_model()->count();
33
34  // A new tab should be opened.
35  delegate_->OnLearnMoreLinkClicked(false);
36
37  int tab_count = browser()->tab_strip_model()->count();
38  EXPECT_EQ(starting_tab_count + 1, tab_count);
39}
40