OLD | NEW |
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 <utility> | 5 #include <utility> |
6 | 6 |
7 #include "base/at_exit.h" | 7 #include "base/at_exit.h" |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "base/memory/scoped_vector.h" | 10 #include "base/memory/scoped_vector.h" |
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
382 InterfaceRequest<TestC> request) override { | 382 InterfaceRequest<TestC> request) override { |
383 new TestCImpl(connection, context_, std::move(request)); | 383 new TestCImpl(connection, context_, std::move(request)); |
384 } | 384 } |
385 | 385 |
386 TesterContext* context_; | 386 TesterContext* context_; |
387 scoped_ptr<ShellConnection> app_; | 387 scoped_ptr<ShellConnection> app_; |
388 std::string requestor_name_; | 388 std::string requestor_name_; |
389 ScopedVector<TestAImpl> a_bindings_; | 389 ScopedVector<TestAImpl> a_bindings_; |
390 }; | 390 }; |
391 | 391 |
392 void OnConnect(base::RunLoop* loop, uint32_t instance_id, uint32_t user_id) { | 392 void OnConnect(base::RunLoop* loop, const String& user_id, |
| 393 uint32_t instance_id) { |
393 loop->Quit(); | 394 loop->Quit(); |
394 } | 395 } |
395 | 396 |
396 class LoaderTest : public testing::Test { | 397 class LoaderTest : public testing::Test { |
397 public: | 398 public: |
398 LoaderTest() : tester_context_(&loop_) {} | 399 LoaderTest() : tester_context_(&loop_) {} |
399 ~LoaderTest() override {} | 400 ~LoaderTest() override {} |
400 | 401 |
401 void SetUp() override { | 402 void SetUp() override { |
402 shell_.reset(new Shell(nullptr, nullptr, nullptr)); | 403 shell_.reset(new Shell(nullptr, nullptr, nullptr)); |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
515 EXPECT_TRUE(c.encountered_error()); | 516 EXPECT_TRUE(c.encountered_error()); |
516 } | 517 } |
517 | 518 |
518 TEST_F(LoaderTest, TestEndApplicationClosure) { | 519 TEST_F(LoaderTest, TestEndApplicationClosure) { |
519 ClosingLoader* loader = new ClosingLoader(); | 520 ClosingLoader* loader = new ClosingLoader(); |
520 shell_->SetLoaderForName(scoped_ptr<Loader>(loader), "test:test"); | 521 shell_->SetLoaderForName(scoped_ptr<Loader>(loader), "test:test"); |
521 | 522 |
522 bool called = false; | 523 bool called = false; |
523 scoped_ptr<ConnectParams> params(new ConnectParams); | 524 scoped_ptr<ConnectParams> params(new ConnectParams); |
524 params->set_source(CreateShellIdentity()); | 525 params->set_source(CreateShellIdentity()); |
525 params->set_target(Identity("test:test", "", mojom::Connector::kUserRoot)); | 526 params->set_target(Identity("test:test", "", mojom::kRootUserID)); |
526 shell_->SetInstanceQuitCallback( | 527 shell_->SetInstanceQuitCallback( |
527 base::Bind(&QuitClosure, params->target(), &called)); | 528 base::Bind(&QuitClosure, params->target(), &called)); |
528 shell_->Connect(std::move(params)); | 529 shell_->Connect(std::move(params)); |
529 loop_.Run(); | 530 loop_.Run(); |
530 EXPECT_TRUE(called); | 531 EXPECT_TRUE(called); |
531 } | 532 } |
532 | 533 |
533 TEST_F(LoaderTest, SameIdentityShouldNotCauseDuplicateLoad) { | 534 TEST_F(LoaderTest, SameIdentityShouldNotCauseDuplicateLoad) { |
534 // 1 because LoaderTest connects once at startup. | 535 // 1 because LoaderTest connects once at startup. |
535 EXPECT_EQ(1, test_loader_->num_loads()); | 536 EXPECT_EQ(1, test_loader_->num_loads()); |
536 | 537 |
537 TestServicePtr test_service; | 538 TestServicePtr test_service; |
538 ConnectToInterface("test:foo", &test_service); | 539 ConnectToInterface("test:foo", &test_service); |
539 EXPECT_EQ(2, test_loader_->num_loads()); | 540 EXPECT_EQ(2, test_loader_->num_loads()); |
540 | 541 |
541 // Exactly the same name as above. | 542 // Exactly the same name as above. |
542 ConnectToInterface("test:foo", &test_service); | 543 ConnectToInterface("test:foo", &test_service); |
543 EXPECT_EQ(2, test_loader_->num_loads()); | 544 EXPECT_EQ(2, test_loader_->num_loads()); |
544 | 545 |
545 // A different identity because the domain is different. | 546 // A different identity because the domain is different. |
546 ConnectToInterface("test:bar", &test_service); | 547 ConnectToInterface("test:bar", &test_service); |
547 EXPECT_EQ(3, test_loader_->num_loads()); | 548 EXPECT_EQ(3, test_loader_->num_loads()); |
548 } | 549 } |
549 | 550 |
550 } // namespace test | 551 } // namespace test |
551 } // namespace shell | 552 } // namespace shell |
552 } // namespace mojo | 553 } // namespace mojo |
OLD | NEW |