Chromium Code Reviews| Index: chrome/browser/extensions/window_open_apitest.cc |
| diff --git a/chrome/browser/extensions/window_open_apitest.cc b/chrome/browser/extensions/window_open_apitest.cc |
| index a0b710b48e5147803559621ece90beaef564464f..c07ef0c40b7059050c520bf0dc98e839abdb26ef 100644 |
| --- a/chrome/browser/extensions/window_open_apitest.cc |
| +++ b/chrome/browser/extensions/window_open_apitest.cc |
| @@ -3,8 +3,13 @@ |
| // found in the LICENSE file. |
| #include "base/command_line.h" |
| +#include "chrome/browser/browser.h" |
| +#include "chrome/browser/browser_list.h" |
| #include "chrome/browser/extensions/extension_apitest.h" |
| +#include "chrome/browser/tab_contents/tab_contents.h" |
| #include "chrome/common/chrome_switches.h" |
| +#include "chrome/test/ui_test_utils.h" |
| +#include "net/base/mock_host_resolver.h" |
| IN_PROC_BROWSER_TEST_F(ExtensionApiTest, FLAKY_WindowOpen) { |
| CommandLine::ForCurrentProcess()->AppendSwitch( |
| @@ -15,3 +20,44 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, FLAKY_WindowOpen) { |
| .AppendASCII("window_open").AppendASCII("spanning"))); |
| EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| } |
| + |
| +IN_PROC_BROWSER_TEST_F(ExtensionApiTest, PopupBlockingExtension) { |
| + host_resolver()->AddRule("*", "127.0.0.1"); |
| + ASSERT_TRUE(test_server()->Start()); |
| + |
| + ResultCatcher catcher; |
| + ASSERT_TRUE(LoadExtension( |
| + test_data_dir_.AppendASCII("window_open").AppendASCII("popup_blocking") |
| + .AppendASCII("extension"))); |
| + EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| +} |
| + |
| +IN_PROC_BROWSER_TEST_F(ExtensionApiTest, PopupBlockingHostedApp) { |
| + host_resolver()->AddRule("*", "127.0.0.1"); |
| + ASSERT_TRUE(test_server()->Start()); |
| + |
| + ASSERT_TRUE(LoadExtension( |
| + test_data_dir_.AppendASCII("window_open").AppendASCII("popup_blocking") |
| + .AppendASCII("hosted_app"))); |
| + |
| + std::string app_base("http://a.com:1337/files/extensions/api_test/" |
|
Erik does not do reviews
2010/09/09 17:33:44
you're apparently supposed to get the port from th
|
| + "window_open/popup_blocking/hosted_app/"); |
| + |
| + ui_test_utils::NavigateToURL(browser(), GURL(app_base + "open_tab.html")); |
| + if (browser()->tab_count() != 2) |
| + ui_test_utils::WaitForNewTab(browser()); |
| + ASSERT_EQ(2, browser()->tab_count()); |
| + EXPECT_EQ(app_base + "tab.html", |
| + browser()->GetTabContentsAt(1)->GetURL().spec()); |
| + |
| + ui_test_utils::NavigateToURL(browser(), GURL(app_base + "open_popup.html")); |
| + Browser* new_browser = NULL; |
| + if (BrowserList::GetBrowserCount(browser()->profile()) == 2) |
| + new_browser = BrowserList::GetLastActive(); |
| + else |
| + new_browser = ui_test_utils::WaitForNewBrowser(); |
| + |
| + ASSERT_EQ(1, new_browser->tab_count()); |
| + EXPECT_EQ(app_base + "popup.html", |
| + new_browser->GetTabContentsAt(0)->GetURL().spec()); |
| +} |