| Index: chrome/browser/tab_restore_uitest.cc
|
| ===================================================================
|
| --- chrome/browser/tab_restore_uitest.cc (revision 5928)
|
| +++ chrome/browser/tab_restore_uitest.cc (working copy)
|
| @@ -170,7 +170,6 @@
|
| ASSERT_EQ(http_url1, GetActiveTabURL());
|
| }
|
|
|
| -
|
| // Tests that the SiteInstances used for entries in a restored tab's history
|
| // are given appropriate max page IDs, even if the renderer for the entry
|
| // already exists. (Bug 1204135)
|
| @@ -222,3 +221,56 @@
|
| ASSERT_EQ(http_url2, GetActiveTabURL());
|
| }
|
|
|
| +TEST_F(TabRestoreUITest, RestoreWindow) {
|
| + // Create a new window.
|
| + int window_count;
|
| + ASSERT_TRUE(automation()->GetBrowserWindowCount(&window_count));
|
| + ASSERT_TRUE(automation()->OpenNewBrowserWindow(SW_HIDE));
|
| + ASSERT_TRUE(automation()->WaitForWindowCountToBecome(++window_count,
|
| + kWaitForActionMaxMsec));
|
| +
|
| + // Create two more tabs, one with url1, the other url2.
|
| + scoped_ptr<BrowserProxy> browser_proxy(automation()->GetBrowserWindow(0));
|
| + int initial_tab_count;
|
| + ASSERT_TRUE(browser_proxy->GetTabCount(&initial_tab_count));
|
| + browser_proxy->AppendTab(url1_);
|
| + ASSERT_TRUE(browser_proxy->WaitForTabCountToBecome(initial_tab_count + 1,
|
| + kWaitForActionMaxMsec));
|
| + scoped_ptr<TabProxy> new_tab(browser_proxy->GetTab(initial_tab_count));
|
| + new_tab->NavigateToURL(url1_);
|
| + browser_proxy->AppendTab(url2_);
|
| + ASSERT_TRUE(browser_proxy->WaitForTabCountToBecome(initial_tab_count + 2,
|
| + kWaitForActionMaxMsec));
|
| + new_tab.reset(browser_proxy->GetTab(initial_tab_count + 1));
|
| + new_tab->NavigateToURL(url2_);
|
| +
|
| + // Close the window.
|
| + ASSERT_TRUE(browser_proxy->ApplyAccelerator(IDC_CLOSEWINDOW));
|
| + browser_proxy.reset();
|
| + new_tab.reset();
|
| + ASSERT_TRUE(automation()->WaitForWindowCountToBecome(window_count - 1,
|
| + kWaitForActionMaxMsec));
|
| +
|
| + // Restore the window.
|
| + browser_proxy.reset(automation()->GetBrowserWindow(0));
|
| + ASSERT_TRUE(browser_proxy->ApplyAccelerator(IDC_RESTORE_TAB));
|
| + ASSERT_TRUE(automation()->WaitForWindowCountToBecome(window_count,
|
| + kWaitForActionMaxMsec));
|
| +
|
| + browser_proxy.reset(automation()->GetBrowserWindow(1));
|
| + ASSERT_TRUE(browser_proxy->WaitForTabCountToBecome(initial_tab_count + 2,
|
| + kWaitForActionMaxMsec));
|
| +
|
| + scoped_ptr<TabProxy> restored_tab_proxy(
|
| + browser_proxy->GetTab(initial_tab_count));
|
| + ASSERT_TRUE(restored_tab_proxy->WaitForTabToBeRestored(kWaitForActionMsec));
|
| + GURL url;
|
| + ASSERT_TRUE(restored_tab_proxy->GetCurrentURL(&url));
|
| + ASSERT_TRUE(url == url1_);
|
| +
|
| + restored_tab_proxy.reset(
|
| + browser_proxy->GetTab(initial_tab_count + 1));
|
| + ASSERT_TRUE(restored_tab_proxy->WaitForTabToBeRestored(kWaitForActionMsec));
|
| + ASSERT_TRUE(restored_tab_proxy->GetCurrentURL(&url));
|
| + ASSERT_TRUE(url == url2_);
|
| +}
|
|
|