| Index: shell/application_manager/application_manager_unittest.cc
|
| diff --git a/shell/application_manager/application_manager_unittest.cc b/shell/application_manager/application_manager_unittest.cc
|
| index 19edcff0bde63ac72381dc0d0c957a8289e7f62c..2e7c27903200075ee340adef729498fca466006c 100644
|
| --- a/shell/application_manager/application_manager_unittest.cc
|
| +++ b/shell/application_manager/application_manager_unittest.cc
|
| @@ -33,6 +33,11 @@ struct TestContext {
|
| int num_loader_deletes;
|
| };
|
|
|
| +void QuitClosure(bool* value) {
|
| + *value = true;
|
| + base::MessageLoop::current()->QuitWhenIdle();
|
| +}
|
| +
|
| class QuitMessageLoopErrorHandler : public ErrorHandler {
|
| public:
|
| QuitMessageLoopErrorHandler() {}
|
| @@ -137,6 +142,13 @@ class TestApplicationLoader : public ApplicationLoader,
|
| DISALLOW_COPY_AND_ASSIGN(TestApplicationLoader);
|
| };
|
|
|
| +class ClosingApplicationLoader : public ApplicationLoader {
|
| + private:
|
| + // ApplicationLoader implementation.
|
| + void Load(const GURL& url,
|
| + InterfaceRequest<Application> application_request) override {}
|
| +};
|
| +
|
| class TesterContext {
|
| public:
|
| explicit TesterContext(base::MessageLoop* loop)
|
| @@ -403,8 +415,6 @@ class TestDelegate : public ApplicationManager::Delegate {
|
| return mapped_url;
|
| }
|
|
|
| - void OnApplicationError(const GURL& url) override {}
|
| -
|
| private:
|
| std::map<GURL, GURL> mappings_;
|
| };
|
| @@ -801,6 +811,19 @@ TEST_F(ApplicationManagerTest, TestQueryWithLoaders) {
|
| EXPECT_EQ(1, scheme_loader->num_loads());
|
| }
|
|
|
| +TEST_F(ApplicationManagerTest, TestEndApplicationClosure) {
|
| + ClosingApplicationLoader* loader = new ClosingApplicationLoader();
|
| + application_manager_->SetLoaderForScheme(
|
| + scoped_ptr<ApplicationLoader>(loader), "test");
|
| +
|
| + bool called = false;
|
| + application_manager_->ConnectToApplication(
|
| + GURL("test:test"), GURL(), nullptr, nullptr,
|
| + base::Bind(&QuitClosure, base::Unretained(&called)));
|
| + loop_.Run();
|
| + EXPECT_TRUE(called);
|
| +}
|
| +
|
| } // namespace
|
| } // namespace shell
|
| } // namespace mojo
|
|
|