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