Chromium Code Reviews| Index: headless/lib/headless_devtools_client_browsertest.cc |
| diff --git a/headless/lib/headless_devtools_client_browsertest.cc b/headless/lib/headless_devtools_client_browsertest.cc |
| index 65e8145ad35272690a72c4c57d58962a083448a6..bf151976e8b5768e94555b2fe15eba08cda9ba50 100644 |
| --- a/headless/lib/headless_devtools_client_browsertest.cc |
| +++ b/headless/lib/headless_devtools_client_browsertest.cc |
| @@ -204,6 +204,7 @@ class BrowserDomainCreateAndDeletePageTest |
| } |
| void OnCloseTargetResult(std::unique_ptr<browser::CloseTargetResult> result) { |
| + EXPECT_TRUE(result->GetSuccess()); |
| EXPECT_EQ(1u, browser()->GetAllWebContents().size()); |
| FinishAsynchronousTest(); |
| } |
| @@ -211,6 +212,74 @@ class BrowserDomainCreateAndDeletePageTest |
| HEADLESS_ASYNC_DEVTOOLED_TEST_F(BrowserDomainCreateAndDeletePageTest); |
| +class BrowserDomainCreateAndDeleteBrowserContextTest |
|
Sami
2016/08/03 11:20:31
Thanks for adding this test.
altimin
2016/08/03 11:54:10
Acknowledged.
|
| + : public HeadlessAsyncDevTooledBrowserTest { |
| + void RunDevTooledTest() override { |
| + EXPECT_TRUE(embedded_test_server()->Start()); |
| + |
| + EXPECT_EQ(1u, browser()->GetAllWebContents().size()); |
| + |
| + devtools_client_->GetBrowser()->GetExperimental()->CreateBrowserContext( |
| + browser::CreateBrowserContextParams::Builder().Build(), |
| + base::Bind(&BrowserDomainCreateAndDeleteBrowserContextTest:: |
| + OnCreateContextResult, |
| + base::Unretained(this))); |
| + } |
| + |
| + void OnCreateContextResult( |
| + std::unique_ptr<browser::CreateBrowserContextResult> result) { |
| + browser_context_id_ = result->GetBrowserContextId(); |
| + |
| + devtools_client_->GetBrowser()->GetExperimental()->CreateTarget( |
| + browser::CreateTargetParams::Builder() |
| + .SetUrl(embedded_test_server()->GetURL("/hello.html").spec()) |
| + .SetBrowserContextId(result->GetBrowserContextId()) |
| + .SetWidth(1) |
| + .SetHeight(1) |
| + .Build(), |
| + base::Bind(&BrowserDomainCreateAndDeleteBrowserContextTest:: |
| + OnCreateTargetResult, |
| + base::Unretained(this))); |
| + } |
| + |
| + void OnCreateTargetResult( |
| + std::unique_ptr<browser::CreateTargetResult> result) { |
| + EXPECT_EQ(2u, browser()->GetAllWebContents().size()); |
| + |
| + devtools_client_->GetBrowser()->GetExperimental()->CloseTarget( |
| + browser::CloseTargetParams::Builder() |
| + .SetTargetId(result->GetTargetId()) |
| + .Build(), |
| + base::Bind(&BrowserDomainCreateAndDeleteBrowserContextTest:: |
| + OnCloseTargetResult, |
| + base::Unretained(this))); |
| + } |
| + |
| + void OnCloseTargetResult(std::unique_ptr<browser::CloseTargetResult> result) { |
| + EXPECT_EQ(1u, browser()->GetAllWebContents().size()); |
| + EXPECT_TRUE(result->GetSuccess()); |
| + |
| + devtools_client_->GetBrowser()->GetExperimental()->DisposeBrowserContext( |
| + browser::DisposeBrowserContextParams::Builder() |
| + .SetBrowserContextId(browser_context_id_) |
| + .Build(), |
| + base::Bind(&BrowserDomainCreateAndDeleteBrowserContextTest:: |
| + OnDisposeBrowserContextResult, |
| + base::Unretained(this))); |
| + } |
| + |
| + void OnDisposeBrowserContextResult( |
| + std::unique_ptr<browser::DisposeBrowserContextResult> result) { |
| + EXPECT_TRUE(result->GetSuccess()); |
| + FinishAsynchronousTest(); |
| + } |
| + |
| + private: |
| + std::string browser_context_id_; |
| +}; |
| + |
| +HEADLESS_ASYNC_DEVTOOLED_TEST_F(BrowserDomainCreateAndDeleteBrowserContextTest); |
| + |
| class BrowserDomainDisposeContextFailsIfInUse |
| : public HeadlessAsyncDevTooledBrowserTest { |
| void RunDevTooledTest() override { |