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

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: Merge / nits 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
« no previous file with comments | « shell/application_manager/application_manager.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 f3b0503e071e4616cfd07d462f875930d6a6dba8..b8da53b4a6e705931abf9d6e1327ed57c7f0b725 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
« no previous file with comments | « shell/application_manager/application_manager.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698