| Index: chrome/browser/ui/views/sync/one_click_signin_bubble_view_browsertest.cc
|
| diff --git a/chrome/browser/ui/views/sync/one_click_signin_bubble_view_browsertest.cc b/chrome/browser/ui/views/sync/one_click_signin_bubble_view_browsertest.cc
|
| index 98f22ef993588fa0e000f94307562180654fe774..4700166c9572bddedbdf8783edb14c70bfa435e1 100644
|
| --- a/chrome/browser/ui/views/sync/one_click_signin_bubble_view_browsertest.cc
|
| +++ b/chrome/browser/ui/views/sync/one_click_signin_bubble_view_browsertest.cc
|
| @@ -7,6 +7,7 @@
|
| #include "base/bind.h"
|
| #include "chrome/browser/ui/browser.h"
|
| #include "chrome/browser/ui/browser_window.h"
|
| +#include "chrome/browser/ui/tabs/tab_strip_model.h"
|
| #include "chrome/test/base/in_process_browser_test.h"
|
| #include "chrome/test/base/ui_test_utils.h"
|
| #include "content/public/common/page_transition_types.h"
|
| @@ -19,20 +20,17 @@ class OneClickSigninBubbleViewBrowserTest : public InProcessBrowserTest {
|
| mode_(OneClickSigninSyncStarter::CONFIGURE_SYNC_FIRST) {
|
| }
|
|
|
| - OneClickSigninBubbleView* ShowOneClickSigninBubble() {
|
| + OneClickSigninBubbleView* ShowOneClickSigninBubble(
|
| + BrowserWindow::OneClickSigninBubbleType bubble_type) {
|
| browser()->window()->ShowOneClickSigninBubble(
|
| - BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_BUBBLE,
|
| + bubble_type,
|
| + string16(),
|
| string16(),
|
| base::Bind(&OneClickSigninBubbleViewBrowserTest::OnStartSync, this));
|
|
|
| - content::RunAllPendingInMessageLoop();
|
| - EXPECT_TRUE(OneClickSigninBubbleView::IsShowing());
|
| -
|
| OneClickSigninBubbleView* view =
|
| OneClickSigninBubbleView::view_for_testing();
|
| EXPECT_TRUE(view != NULL);
|
| -
|
| - // Simulate pressing a link in the bubble. This should open a new tab.
|
| view->message_loop_for_testing_ = MessageLoop::current();
|
| return view;
|
| }
|
| @@ -50,22 +48,42 @@ class OneClickSigninBubbleViewBrowserTest : public InProcessBrowserTest {
|
| DISALLOW_COPY_AND_ASSIGN(OneClickSigninBubbleViewBrowserTest);
|
| };
|
|
|
| -// Disabled. See http://crbug.com/132348
|
| -IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest, DISABLED_Show) {
|
| - ShowOneClickSigninBubble();
|
| +IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest, ShowBubble) {
|
| + ShowOneClickSigninBubble(BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_BUBBLE);
|
| content::RunAllPendingInMessageLoop();
|
| EXPECT_TRUE(OneClickSigninBubbleView::IsShowing());
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest, ShowDialog) {
|
| + ShowOneClickSigninBubble(
|
| + BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_MODAL_DIALOG);
|
| + content::RunAllPendingInMessageLoop();
|
| + EXPECT_TRUE(OneClickSigninBubbleView::IsShowing());
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest, HideBubble) {
|
| + ShowOneClickSigninBubble(BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_BUBBLE);
|
| +
|
| + OneClickSigninBubbleView::Hide();
|
| + content::RunAllPendingInMessageLoop();
|
| + EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest, HideDialog) {
|
| + ShowOneClickSigninBubble(
|
| + BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_MODAL_DIALOG);
|
|
|
| OneClickSigninBubbleView::Hide();
|
| content::RunAllPendingInMessageLoop();
|
| + EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
|
| EXPECT_TRUE(on_start_sync_called_);
|
| EXPECT_EQ(OneClickSigninSyncStarter::SYNC_WITH_DEFAULT_SETTINGS, mode_);
|
| - EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
|
| }
|
|
|
| -// Disabled. See http://crbug.com/132348
|
| -IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest, DISABLED_OkButton) {
|
| - OneClickSigninBubbleView* view = ShowOneClickSigninBubble();
|
| +IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest, BubbleOkButton) {
|
| + OneClickSigninBubbleView* view =
|
| + ShowOneClickSigninBubble(
|
| + BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_BUBBLE);
|
|
|
| // Simulate pressing the OK button. Set the message loop in the bubble
|
| // view so that it can be quit once the bubble is hidden.
|
| @@ -77,16 +95,34 @@ IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest, DISABLED_OkButton) {
|
|
|
| // View should no longer be showing. The message loop will exit once the
|
| // fade animation of the bubble is done.
|
| - content::RunMessageLoop();
|
| + content::RunAllPendingInMessageLoop();
|
| + EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest, DialogOkButton) {
|
| + OneClickSigninBubbleView* view = ShowOneClickSigninBubble(
|
| + BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_MODAL_DIALOG);
|
| +
|
| + // Simulate pressing the OK button. Set the message loop in the bubble
|
| + // view so that it can be quit once the bubble is hidden.
|
| + views::ButtonListener* listener = view;
|
| + const ui::MouseEvent event(ui::ET_MOUSE_PRESSED,
|
| + gfx::Point(), gfx::Point(),
|
| + 0);
|
| + listener->ButtonPressed(view->ok_button_, event);
|
| +
|
| + // View should no longer be showing and sync should start
|
| + // The message loop will exit once the fade animation of the dialog is done.
|
| + content::RunAllPendingInMessageLoop();
|
| + EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
|
| EXPECT_TRUE(on_start_sync_called_);
|
| EXPECT_EQ(OneClickSigninSyncStarter::SYNC_WITH_DEFAULT_SETTINGS, mode_);
|
| - EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
|
| }
|
|
|
| -// Disabled. See http://crbug.com/132348
|
| IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
|
| - DISABLED_UndoButton) {
|
| - OneClickSigninBubbleView* view = ShowOneClickSigninBubble();
|
| + DialogUndoButton) {
|
| + OneClickSigninBubbleView* view = ShowOneClickSigninBubble(
|
| + BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_MODAL_DIALOG);
|
|
|
| // Simulate pressing the undo button. Set the message loop in the bubble
|
| // view so that it can be quit once the bubble is hidden.
|
| @@ -98,32 +134,87 @@ IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
|
|
|
| // View should no longer be showing. The message loop will exit once the
|
| // fade animation of the bubble is done.
|
| - content::RunMessageLoop();
|
| + content::RunAllPendingInMessageLoop();
|
| + EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
|
| EXPECT_TRUE(on_start_sync_called_);
|
| EXPECT_EQ(OneClickSigninSyncStarter::UNDO_SYNC, mode_);
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
|
| + BubbleAdvancedLink) {
|
| + int starting_tab_count = browser()->tab_strip_model()->count();
|
| +
|
| + OneClickSigninBubbleView* view = ShowOneClickSigninBubble(
|
| + BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_BUBBLE);
|
| +
|
| + // Simulate pressing a link in the bubble.This should replace the current tab.
|
| + views::LinkListener* listener = view;
|
| + listener->LinkClicked(view->advanced_link_, 0);
|
| +
|
| + // View should no longer be showing and the current tab should be replaced.
|
| + content::RunAllPendingInMessageLoop();
|
| EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
|
| + int tab_count = browser()->tab_strip_model()->count();
|
| + EXPECT_EQ(starting_tab_count, tab_count);
|
| }
|
|
|
| -// Disabled. See http://crbug.com/132348
|
| IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
|
| - DISABLED_AdvancedLink) {
|
| - OneClickSigninBubbleView* view = ShowOneClickSigninBubble();
|
| + DialogAdvancedLink) {
|
| + int starting_tab_count = browser()->tab_strip_model()->count();
|
| +
|
| + OneClickSigninBubbleView* view = ShowOneClickSigninBubble(
|
| + BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_MODAL_DIALOG);
|
|
|
| // Simulate pressing a link in the bubble. This should open a new tab.
|
| views::LinkListener* listener = view;
|
| listener->LinkClicked(view->advanced_link_, 0);
|
|
|
| // View should no longer be showing and a new tab should be opened.
|
| - content::RunMessageLoop();
|
| + content::RunAllPendingInMessageLoop();
|
| EXPECT_TRUE(on_start_sync_called_);
|
| EXPECT_EQ(OneClickSigninSyncStarter::CONFIGURE_SYNC_FIRST, mode_);
|
| EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
|
| + int tab_count = browser()->tab_strip_model()->count();
|
| + EXPECT_EQ(starting_tab_count, tab_count);
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
|
| + BubbleLearnMoreLink) {
|
| + int starting_tab_count = browser()->tab_strip_model()->count();
|
| +
|
| + OneClickSigninBubbleView* view = ShowOneClickSigninBubble(
|
| + BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_BUBBLE);
|
| +
|
| + // View should no longer be showing and a new tab should be added.
|
| + views::LinkListener* listener = view;
|
| + listener->LinkClicked(view->learn_more_link_, 0);
|
| +
|
| + content::RunAllPendingInMessageLoop();
|
| + EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
|
| + int tab_count = browser()->tab_strip_model()->count();
|
| + EXPECT_EQ(starting_tab_count + 1, tab_count);
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
|
| + BubblePressEnterKey) {
|
| + OneClickSigninBubbleView* one_click_view = ShowOneClickSigninBubble(
|
| + BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_BUBBLE);
|
| +
|
| + // Simulate pressing the Enter key.
|
| + views::View* view = one_click_view;
|
| + const ui::Accelerator accelerator(ui::VKEY_RETURN, 0);
|
| + view->AcceleratorPressed(accelerator);
|
| +
|
| + // View should no longer be showing. The message loop will exit once the
|
| + // fade animation of the bubble is done.
|
| + content::RunAllPendingInMessageLoop();
|
| + EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
|
| }
|
|
|
| -// Disabled. See http://crbug.com/132348
|
| IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
|
| - DISABLED_PressEnterKey) {
|
| - OneClickSigninBubbleView* one_click_view = ShowOneClickSigninBubble();
|
| + DialogPressEnterKey) {
|
| + OneClickSigninBubbleView* one_click_view = ShowOneClickSigninBubble(
|
| + BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_MODAL_DIALOG);
|
|
|
| // Simulate pressing the Enter key.
|
| views::View* view = one_click_view;
|
| @@ -132,16 +223,32 @@ IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
|
|
|
| // View should no longer be showing. The message loop will exit once the
|
| // fade animation of the bubble is done.
|
| - content::RunMessageLoop();
|
| + content::RunAllPendingInMessageLoop();
|
| + EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
|
| EXPECT_TRUE(on_start_sync_called_);
|
| EXPECT_EQ(OneClickSigninSyncStarter::SYNC_WITH_DEFAULT_SETTINGS, mode_);
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
|
| + BubblePressEscapeKey) {
|
| + OneClickSigninBubbleView* one_click_view = ShowOneClickSigninBubble(
|
| + BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_BUBBLE);
|
| +
|
| + // Simulate pressing the Escape key.
|
| + views::View* view = one_click_view;
|
| + const ui::Accelerator accelerator(ui::VKEY_ESCAPE, 0);
|
| + view->AcceleratorPressed(accelerator);
|
| +
|
| + // View should no longer be showing. The message loop will exit once the
|
| + // fade animation of the bubble is done.
|
| + content::RunAllPendingInMessageLoop();
|
| EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
|
| }
|
|
|
| -// Disabled. See http://crbug.com/132348
|
| IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
|
| - DISABLED_PressEscapeKey) {
|
| - OneClickSigninBubbleView* one_click_view = ShowOneClickSigninBubble();
|
| + DialogPressEscapeKey) {
|
| + OneClickSigninBubbleView* one_click_view = ShowOneClickSigninBubble(
|
| + BrowserWindow::ONE_CLICK_SIGNIN_BUBBLE_TYPE_MODAL_DIALOG);
|
|
|
| // Simulate pressing the Escape key.
|
| views::View* view = one_click_view;
|
| @@ -150,7 +257,7 @@ IN_PROC_BROWSER_TEST_F(OneClickSigninBubbleViewBrowserTest,
|
|
|
| // View should no longer be showing. The message loop will exit once the
|
| // fade animation of the bubble is done.
|
| - content::RunMessageLoop();
|
| - EXPECT_FALSE(on_start_sync_called_);
|
| + content::RunAllPendingInMessageLoop();
|
| EXPECT_FALSE(OneClickSigninBubbleView::IsShowing());
|
| + EXPECT_FALSE(on_start_sync_called_);
|
| }
|
|
|