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

Side by Side Diff: ios/web/webui/mojo_facade_unittest.mm

Issue 2420253002: Rename shell namespace to service_manager (Closed)
Patch Set: . Created 4 years, 2 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 | « ios/web/webui/mojo_facade.mm ('k') | ios/web/webui/web_ui_mojo_inttest.mm » ('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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 #import "ios/web/webui/mojo_facade.h" 5 #import "ios/web/webui/mojo_facade.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #import "base/mac/scoped_nsobject.h" 9 #import "base/mac/scoped_nsobject.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 26 matching lines...) Expand all
37 // Deserializes the given |json| to an object. 37 // Deserializes the given |json| to an object.
38 id GetObject(const std::string& json) { 38 id GetObject(const std::string& json) {
39 NSData* json_as_data = 39 NSData* json_as_data =
40 [base::SysUTF8ToNSString(json) dataUsingEncoding:NSUTF8StringEncoding]; 40 [base::SysUTF8ToNSString(json) dataUsingEncoding:NSUTF8StringEncoding];
41 return [NSJSONSerialization JSONObjectWithData:json_as_data 41 return [NSJSONSerialization JSONObjectWithData:json_as_data
42 options:0 42 options:0
43 error:nil]; 43 error:nil];
44 } 44 }
45 45
46 // Test mojo handler factory. 46 // Test mojo handler factory.
47 class TestUIHandlerFactory : public shell::InterfaceFactory<TestUIHandlerMojo> { 47 class TestUIHandlerFactory
48 : public service_manager::InterfaceFactory<TestUIHandlerMojo> {
48 public: 49 public:
49 ~TestUIHandlerFactory() override {} 50 ~TestUIHandlerFactory() override {}
50 51
51 private: 52 private:
52 // shell::InterfaceFactory overrides. 53 // service_manager::InterfaceFactory overrides.
53 void Create(const shell::Identity& remote_identity, 54 void Create(const service_manager::Identity& remote_identity,
54 mojo::InterfaceRequest<TestUIHandlerMojo> request) override {} 55 mojo::InterfaceRequest<TestUIHandlerMojo> request) override {}
55 }; 56 };
56 57
57 } // namespace 58 } // namespace
58 59
59 // A test fixture to test MojoFacade class. 60 // A test fixture to test MojoFacade class.
60 class MojoFacadeTest : public WebTest { 61 class MojoFacadeTest : public WebTest {
61 protected: 62 protected:
62 MojoFacadeTest() { 63 MojoFacadeTest() {
63 interface_registry_.reset(new shell::InterfaceRegistry); 64 interface_registry_.reset(new service_manager::InterfaceRegistry);
64 interface_registry_->AddInterface(&ui_handler_factory_); 65 interface_registry_->AddInterface(&ui_handler_factory_);
65 evaluator_.reset([[OCMockObject 66 evaluator_.reset([[OCMockObject
66 mockForProtocol:@protocol(CRWJSInjectionEvaluator)] retain]); 67 mockForProtocol:@protocol(CRWJSInjectionEvaluator)] retain]);
67 facade_.reset(new MojoFacade( 68 facade_.reset(new MojoFacade(
68 interface_registry_.get(), 69 interface_registry_.get(),
69 static_cast<id<CRWJSInjectionEvaluator>>(evaluator_.get()))); 70 static_cast<id<CRWJSInjectionEvaluator>>(evaluator_.get())));
70 } 71 }
71 72
72 OCMockObject* evaluator() { return evaluator_.get(); } 73 OCMockObject* evaluator() { return evaluator_.get(); }
73 MojoFacade* facade() { return facade_.get(); } 74 MojoFacade* facade() { return facade_.get(); }
74 75
75 private: 76 private:
76 TestUIHandlerFactory ui_handler_factory_; 77 TestUIHandlerFactory ui_handler_factory_;
77 std::unique_ptr<shell::InterfaceRegistry> interface_registry_; 78 std::unique_ptr<service_manager::InterfaceRegistry> interface_registry_;
78 base::scoped_nsobject<OCMockObject> evaluator_; 79 base::scoped_nsobject<OCMockObject> evaluator_;
79 std::unique_ptr<MojoFacade> facade_; 80 std::unique_ptr<MojoFacade> facade_;
80 }; 81 };
81 82
82 // Tests connecting to existing interface and closing the handle. 83 // Tests connecting to existing interface and closing the handle.
83 TEST_F(MojoFacadeTest, GetInterfaceAndCloseHandle) { 84 TEST_F(MojoFacadeTest, GetInterfaceAndCloseHandle) {
84 // Bind to the interface. 85 // Bind to the interface.
85 NSDictionary* connect = @{ 86 NSDictionary* connect = @{
86 @"name" : @"interface_provider.getInterface", 87 @"name" : @"interface_provider.getInterface",
87 @"args" : @{ 88 @"args" : @{
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 NSDictionary* message = GetObject(facade()->HandleMojoMessage(GetJson(read))); 270 NSDictionary* message = GetObject(facade()->HandleMojoMessage(GetJson(read)));
270 EXPECT_TRUE([message isKindOfClass:[NSDictionary class]]); 271 EXPECT_TRUE([message isKindOfClass:[NSDictionary class]]);
271 EXPECT_TRUE(message); 272 EXPECT_TRUE(message);
272 NSArray* expected_message = @[ @9, @2, @216 ]; // 2008 does not fit 8-bit. 273 NSArray* expected_message = @[ @9, @2, @216 ]; // 2008 does not fit 8-bit.
273 EXPECT_NSEQ(expected_message, message[@"buffer"]); 274 EXPECT_NSEQ(expected_message, message[@"buffer"]);
274 EXPECT_FALSE([message[@"handles"] count]); 275 EXPECT_FALSE([message[@"handles"] count]);
275 EXPECT_EQ(MOJO_RESULT_OK, [message[@"result"] unsignedIntValue]); 276 EXPECT_EQ(MOJO_RESULT_OK, [message[@"result"] unsignedIntValue]);
276 } 277 }
277 278
278 } // namespace web 279 } // namespace web
OLDNEW
« no previous file with comments | « ios/web/webui/mojo_facade.mm ('k') | ios/web/webui/web_ui_mojo_inttest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698