Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3128)

Unified Diff: chrome/test/automated_ui_tests/automated_ui_test_test.cc

Issue 99268: Making CloseWindow and CloseTab automation API... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
+}

Powered by Google App Engine
This is Rietveld 408576698