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 "mojo/public/cpp/application/connect.h" | 5 #include "mojo/public/cpp/application/connect.h" |
6 #include "mojo/public/cpp/bindings/synchronous_interface_ptr.h" | 6 #include "mojo/public/cpp/bindings/synchronous_interface_ptr.h" |
7 #include "services/js/test/echo_service.mojom-sync.h" | 7 #include "services/js/test/echo_service.mojom-sync.h" |
8 #include "services/js/test/js_application_test_base.h" | 8 #include "services/js/test/js_application_test_base.h" |
9 | 9 |
10 using mojo::String; | 10 using mojo::String; |
11 | 11 |
12 namespace js { | 12 namespace js { |
13 namespace { | 13 namespace { |
14 | 14 |
15 class JSEchoTest : public test::JSApplicationTestBase { | 15 class JSEchoTest : public test::JSApplicationTestBase { |
16 public: | 16 public: |
17 JSEchoTest() : JSApplicationTestBase() {} | 17 JSEchoTest() : JSApplicationTestBase() {} |
18 ~JSEchoTest() override {} | 18 ~JSEchoTest() override {} |
19 | 19 |
20 protected: | 20 protected: |
21 // ApplicationTestBase: | 21 // ApplicationTestBase: |
22 void SetUp() override { | 22 void SetUp() override { |
23 ApplicationTestBase::SetUp(); | 23 ApplicationTestBase::SetUp(); |
24 const std::string& url = JSAppURL("echo.js"); | 24 const std::string& url = JSAppURL("echo.js"); |
25 mojo::ConnectToService(application_impl()->shell(), url, | 25 mojo::ConnectToService(shell(), url, GetSynchronousProxy(&echo_service_)); |
26 GetSynchronousProxy(&echo_service_)); | |
27 } | 26 } |
28 | 27 |
29 mojo::SynchronousInterfacePtr<mojo::EchoService> echo_service_; | 28 mojo::SynchronousInterfacePtr<mojo::EchoService> echo_service_; |
30 | 29 |
31 private: | 30 private: |
32 MOJO_DISALLOW_COPY_AND_ASSIGN(JSEchoTest); | 31 MOJO_DISALLOW_COPY_AND_ASSIGN(JSEchoTest); |
33 }; | 32 }; |
34 | 33 |
35 class JSServiceProviderEchoTest : public test::JSApplicationTestBase { | 34 class JSServiceProviderEchoTest : public test::JSApplicationTestBase { |
36 public: | 35 public: |
37 JSServiceProviderEchoTest() : JSApplicationTestBase() {} | 36 JSServiceProviderEchoTest() : JSApplicationTestBase() {} |
38 ~JSServiceProviderEchoTest() override {} | 37 ~JSServiceProviderEchoTest() override {} |
39 | 38 |
40 protected: | 39 protected: |
41 // ApplicationTestBase: | 40 // ApplicationTestBase: |
42 void SetUp() override { | 41 void SetUp() override { |
43 ApplicationTestBase::SetUp(); | 42 ApplicationTestBase::SetUp(); |
44 const std::string& url = JSAppURL("echo.js"); | 43 const std::string& url = JSAppURL("echo.js"); |
45 application_impl()->shell()->ConnectToApplication( | 44 shell()->ConnectToApplication(url, GetProxy(&echo_service_provider_), |
46 url, GetProxy(&echo_service_provider_), nullptr); | 45 nullptr); |
47 } | 46 } |
48 | 47 |
49 mojo::ServiceProviderPtr echo_service_provider_; | 48 mojo::ServiceProviderPtr echo_service_provider_; |
50 | 49 |
51 private: | 50 private: |
52 MOJO_DISALLOW_COPY_AND_ASSIGN(JSServiceProviderEchoTest); | 51 MOJO_DISALLOW_COPY_AND_ASSIGN(JSServiceProviderEchoTest); |
53 }; | 52 }; |
54 | 53 |
55 TEST_F(JSEchoTest, EchoString) { | 54 TEST_F(JSEchoTest, EchoString) { |
56 String foo; | 55 String foo; |
(...skipping 11 matching lines...) Expand all Loading... |
68 | 67 |
69 TEST_F(JSEchoTest, EchoNullString) { | 68 TEST_F(JSEchoTest, EchoNullString) { |
70 String null; | 69 String null; |
71 EXPECT_TRUE(echo_service_->EchoString(nullptr, &null)); | 70 EXPECT_TRUE(echo_service_->EchoString(nullptr, &null)); |
72 EXPECT_TRUE(null.is_null()); | 71 EXPECT_TRUE(null.is_null()); |
73 echo_service_->Quit(); | 72 echo_service_->Quit(); |
74 } | 73 } |
75 | 74 |
76 } // namespace | 75 } // namespace |
77 } // namespace js | 76 } // namespace js |
OLD | NEW |