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

Unified Diff: shell/application_manager/application_manager_unittest.cc

Issue 861293002: Allow external applications to register for mojo: urls (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Cleanup Created 5 years, 11 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: 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 a3addb73baf76b8d3d7fd0604d6d1e323e647f57..1c288b65e6a2f6115ce59657583b1d7d10bb453a 100644
--- a/shell/application_manager/application_manager_unittest.cc
+++ b/shell/application_manager/application_manager_unittest.cc
@@ -415,6 +415,34 @@ class TestDelegate : public ApplicationManager::Delegate {
std::map<GURL, GURL> mappings_;
};
+class TestExternal : public ApplicationDelegate {
+ public:
+ TestExternal()
+ : initialize_called_(false),
+ configure_incoming_connection_called_(false) {}
+
+ virtual void Initialize(ApplicationImpl* app) override {
+ initialize_called_ = true;
+ base::MessageLoop::current()->Quit();
+ }
+
+ virtual bool ConfigureIncomingConnection(
+ ApplicationConnection* connection) override {
+ configure_incoming_connection_called_ = true;
+ base::MessageLoop::current()->Quit();
+ return true;
+ }
+
+ bool initialize_called() const { return initialize_called_; }
+ bool configure_incoming_connection_called() const {
+ return configure_incoming_connection_called_;
+ }
+
+ private:
+ bool initialize_called_;
+ bool configure_incoming_connection_called_;
+};
+
} // namespace
class ApplicationManagerTest : public testing::Test {
@@ -696,4 +724,18 @@ TEST_F(ApplicationManagerTest, MappedURLsShouldWorkWithLoaders) {
custom_loader->set_context(nullptr);
}
+TEST_F(ApplicationManagerTest, ExternalApp) {
+ MessagePipe shell_pipe;
+ TestExternal external;
+ ApplicationImpl app(&external, shell_pipe.handle0.Pass());
+ application_manager_->RegisterExternalApplication(
+ GURL("mojo:test"), shell_pipe.handle1.Pass());
+ loop_.Run();
+ EXPECT_TRUE(external.initialize_called());
+ application_manager_->ConnectToServiceByName(
+ GURL("mojo:test"), std::string());
+ loop_.Run();
+ EXPECT_TRUE(external.configure_incoming_connection_called());
+};
+
} // namespace mojo

Powered by Google App Engine
This is Rietveld 408576698