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

Side by Side Diff: mojo/shell/application_manager_unittest.cc

Issue 1143793003: Remove application-specific args from Mandoline's shell. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comments Created 5 years, 7 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 unified diff | Download patch
« no previous file with comments | « mojo/shell/application_manager.cc ('k') | mojo/shell/shell_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/at_exit.h" 5 #include "base/at_exit.h"
6 #include "base/bind.h" 6 #include "base/bind.h"
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "base/memory/scoped_vector.h" 8 #include "base/memory/scoped_vector.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "mojo/application/public/cpp/application_connection.h" 10 #include "mojo/application/public/cpp/application_connection.h"
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 TestApplicationLoader() : context_(nullptr), num_loads_(0) {} 138 TestApplicationLoader() : context_(nullptr), num_loads_(0) {}
139 139
140 ~TestApplicationLoader() override { 140 ~TestApplicationLoader() override {
141 if (context_) 141 if (context_)
142 ++context_->num_loader_deletes; 142 ++context_->num_loader_deletes;
143 test_app_.reset(); 143 test_app_.reset();
144 } 144 }
145 145
146 void set_context(TestContext* context) { context_ = context; } 146 void set_context(TestContext* context) { context_ = context; }
147 int num_loads() const { return num_loads_; } 147 int num_loads() const { return num_loads_; }
148 const std::vector<std::string>& GetArgs() const { return test_app_->args(); }
149 const GURL& last_requestor_url() const { return last_requestor_url_; } 148 const GURL& last_requestor_url() const { return last_requestor_url_; }
150 149
151 private: 150 private:
152 // ApplicationLoader implementation. 151 // ApplicationLoader implementation.
153 void Load(const GURL& url, 152 void Load(const GURL& url,
154 InterfaceRequest<Application> application_request) override { 153 InterfaceRequest<Application> application_request) override {
155 ++num_loads_; 154 ++num_loads_;
156 test_app_.reset(new ApplicationImpl(this, application_request.Pass())); 155 test_app_.reset(new ApplicationImpl(this, application_request.Pass()));
157 } 156 }
158 157
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after
514 scoped_ptr<ApplicationManager> application_manager_; 513 scoped_ptr<ApplicationManager> application_manager_;
515 DISALLOW_COPY_AND_ASSIGN(ApplicationManagerTest); 514 DISALLOW_COPY_AND_ASSIGN(ApplicationManagerTest);
516 }; 515 };
517 516
518 TEST_F(ApplicationManagerTest, Basic) { 517 TEST_F(ApplicationManagerTest, Basic) {
519 test_client_->Test("test"); 518 test_client_->Test("test");
520 loop_.Run(); 519 loop_.Run();
521 EXPECT_EQ(std::string("test"), context_.last_test_string); 520 EXPECT_EQ(std::string("test"), context_.last_test_string);
522 } 521 }
523 522
524 // Confirm that no arguments are sent to an application by default.
525 TEST_F(ApplicationManagerTest, NoArgs) {
526 ApplicationManager am(&test_delegate_);
527 GURL test_url("test:test");
528 TestApplicationLoader* loader = new TestApplicationLoader;
529 loader->set_context(&context_);
530 am.SetLoaderForURL(scoped_ptr<ApplicationLoader>(loader), test_url);
531 TestServicePtr test_service;
532 am.ConnectToService(test_url, &test_service);
533 TestClient test_client(test_service.Pass());
534 test_client.Test("test");
535 loop_.Run();
536 std::vector<std::string> app_args = loader->GetArgs();
537 EXPECT_EQ(0U, app_args.size());
538 }
539
540 // Confirm that url mappings are respected. 523 // Confirm that url mappings are respected.
541 TEST_F(ApplicationManagerTest, URLMapping) { 524 TEST_F(ApplicationManagerTest, URLMapping) {
542 ApplicationManager am(&test_delegate_); 525 ApplicationManager am(&test_delegate_);
543 GURL test_url("test:test"); 526 GURL test_url("test:test");
544 GURL test_url2("test:test2"); 527 GURL test_url2("test:test2");
545 test_delegate_.AddMapping(test_url, test_url2); 528 test_delegate_.AddMapping(test_url, test_url2);
546 TestApplicationLoader* loader = new TestApplicationLoader; 529 TestApplicationLoader* loader = new TestApplicationLoader;
547 loader->set_context(&context_); 530 loader->set_context(&context_);
548 am.SetLoaderForURL(scoped_ptr<ApplicationLoader>(loader), test_url2); 531 am.SetLoaderForURL(scoped_ptr<ApplicationLoader>(loader), test_url2);
549 { 532 {
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
815 loop.Run(); 798 loop.Run();
816 EXPECT_TRUE(called); 799 EXPECT_TRUE(called);
817 800
818 ASSERT_EQ(1, loader->num_loads()); 801 ASSERT_EQ(1, loader->num_loads());
819 EXPECT_EQ(requestor_url, loader->last_requestor_url()); 802 EXPECT_EQ(requestor_url, loader->last_requestor_url());
820 } 803 }
821 804
822 } // namespace 805 } // namespace
823 } // namespace shell 806 } // namespace shell
824 } // namespace mojo 807 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/shell/application_manager.cc ('k') | mojo/shell/shell_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698