Index: chrome/test/automated_ui_tests/automated_ui_test_test.cc |
=================================================================== |
--- chrome/test/automated_ui_tests/automated_ui_test_test.cc (revision 14951) |
+++ chrome/test/automated_ui_tests/automated_ui_test_test.cc (working copy) |
@@ -30,7 +30,7 @@ |
ASSERT_EQ(3, tab_count); |
} |
-TEST_F(AutomatedUITestBase, OpenCloseBrowserWindow) { |
+TEST_F(AutomatedUITestBase, OpenBrowserWindow) { |
int num_browser_windows; |
int tab_count; |
automation()->GetBrowserWindowCount(&num_browser_windows); |
@@ -76,3 +76,83 @@ |
automation()->GetBrowserWindowCount(&num_browser_windows); |
ASSERT_EQ(1, num_browser_windows); |
} |
+ |
+TEST_F(AutomatedUITestBase, CloseBrowserWindow) { |
+ int tab_count; |
+ NewTab(); |
+ active_browser()->GetTabCount(&tab_count); |
+ ASSERT_EQ(2, tab_count); |
+ |
+ ASSERT_TRUE(OpenAndActivateNewBrowserWindow(NULL)); |
+ NewTab(); |
+ NewTab(); |
+ active_browser()->GetTabCount(&tab_count); |
+ ASSERT_EQ(3, tab_count); |
+ |
+ ASSERT_TRUE(OpenAndActivateNewBrowserWindow(NULL)); |
+ NewTab(); |
+ NewTab(); |
+ NewTab(); |
+ active_browser()->GetTabCount(&tab_count); |
+ ASSERT_EQ(4, tab_count); |
+ |
+ ASSERT_TRUE(CloseActiveWindow()); |
+ active_browser()->GetTabCount(&tab_count); |
+ |
+ if (tab_count == 2) { |
+ ASSERT_TRUE(CloseActiveWindow()); |
+ active_browser()->GetTabCount(&tab_count); |
+ ASSERT_EQ(3, tab_count); |
+ } else { |
+ ASSERT_EQ(3, tab_count); |
+ ASSERT_TRUE(CloseActiveWindow()); |
+ active_browser()->GetTabCount(&tab_count); |
+ ASSERT_EQ(2, tab_count); |
+ } |
+ |
+ ASSERT_FALSE(CloseActiveWindow()); |
+} |
+ |
+TEST_F(AutomatedUITestBase, CloseTab) { |
+ int num_browser_windows; |
+ int tab_count; |
+ NewTab(); |
+ automation()->GetBrowserWindowCount(&num_browser_windows); |
+ ASSERT_EQ(1, num_browser_windows); |
+ active_browser()->GetTabCount(&tab_count); |
+ ASSERT_EQ(2, tab_count); |
+ |
+ ASSERT_TRUE(OpenAndActivateNewBrowserWindow(NULL)); |
+ NewTab(); |
+ NewTab(); |
+ active_browser()->GetTabCount(&tab_count); |
+ ASSERT_EQ(3, tab_count); |
+ automation()->GetBrowserWindowCount(&num_browser_windows); |
+ ASSERT_EQ(2, num_browser_windows); |
+ |
+ ASSERT_TRUE(CloseActiveTab()); |
+ active_browser()->GetTabCount(&tab_count); |
+ ASSERT_EQ(2, tab_count); |
+ ASSERT_TRUE(CloseActiveTab()); |
+ active_browser()->GetTabCount(&tab_count); |
+ ASSERT_EQ(1, tab_count); |
+ num_browser_windows = 0; |
+ automation()->GetBrowserWindowCount(&num_browser_windows); |
+ ASSERT_EQ(2, num_browser_windows); |
+ |
+ // The browser window is closed by closing this tab. |
+ ASSERT_TRUE(CloseActiveTab()); |
+ automation()->GetBrowserWindowCount(&num_browser_windows); |
+ ASSERT_EQ(1, num_browser_windows); |
+ // Active_browser_ is now the first created window. |
+ active_browser()->GetTabCount(&tab_count); |
+ ASSERT_EQ(2, tab_count); |
+ ASSERT_TRUE(CloseActiveTab()); |
+ active_browser()->GetTabCount(&tab_count); |
+ ASSERT_EQ(1, tab_count); |
+ |
+ // The last tab should not be closed. |
+ ASSERT_FALSE(CloseActiveTab()); |
+ active_browser()->GetTabCount(&tab_count); |
+ ASSERT_EQ(1, tab_count); |
+} |