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

Side by Side Diff: mojo/services/view_manager/view_manager_unittest.cc

Issue 460863002: Rename Node to View in the View Manager mojom & client lib. Service TBD. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 4 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 | Annotate | Revision Log
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 <string> 5 #include <string>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/at_exit.h" 8 #include "base/at_exit.h"
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 std::vector<Change> changes; 101 std::vector<Change> changes;
102 tracker_->changes()->swap(changes); 102 tracker_->changes()->swap(changes);
103 changes_.swap(changes); 103 changes_.swap(changes);
104 } 104 }
105 105
106 // The following functions are cover methods for ViewManagerService. They 106 // The following functions are cover methods for ViewManagerService. They
107 // block until the result is received. 107 // block until the result is received.
108 bool CreateNode(Id node_id) { 108 bool CreateNode(Id node_id) {
109 changes_.clear(); 109 changes_.clear();
110 ErrorCode result = ERROR_CODE_NONE; 110 ErrorCode result = ERROR_CODE_NONE;
111 view_manager_->CreateNode( 111 view_manager_->CreateView(
112 node_id, 112 node_id,
113 base::Bind(&ViewManagerProxy::GotResultWithErrorCode, 113 base::Bind(&ViewManagerProxy::GotResultWithErrorCode,
114 base::Unretained(this), &result)); 114 base::Unretained(this), &result));
115 RunMainLoop(); 115 RunMainLoop();
116 return result == ERROR_CODE_NONE; 116 return result == ERROR_CODE_NONE;
117 } 117 }
118 ErrorCode CreateNodeWithErrorCode(Id node_id) { 118 ErrorCode CreateNodeWithErrorCode(Id node_id) {
119 changes_.clear(); 119 changes_.clear();
120 ErrorCode result = ERROR_CODE_NONE; 120 ErrorCode result = ERROR_CODE_NONE;
121 view_manager_->CreateNode( 121 view_manager_->CreateView(
122 node_id, 122 node_id,
123 base::Bind(&ViewManagerProxy::GotResultWithErrorCode, 123 base::Bind(&ViewManagerProxy::GotResultWithErrorCode,
124 base::Unretained(this), &result)); 124 base::Unretained(this), &result));
125 RunMainLoop(); 125 RunMainLoop();
126 return result; 126 return result;
127 } 127 }
128 bool AddNode(Id parent, Id child) { 128 bool AddNode(Id parent, Id child) {
129 changes_.clear(); 129 changes_.clear();
130 bool result = false; 130 bool result = false;
131 view_manager_->AddNode(parent, child, 131 view_manager_->AddView(parent, child,
132 base::Bind(&ViewManagerProxy::GotResult, 132 base::Bind(&ViewManagerProxy::GotResult,
133 base::Unretained(this), &result)); 133 base::Unretained(this), &result));
134 RunMainLoop(); 134 RunMainLoop();
135 return result; 135 return result;
136 } 136 }
137 bool RemoveNodeFromParent(Id node_id) { 137 bool RemoveNodeFromParent(Id node_id) {
138 changes_.clear(); 138 changes_.clear();
139 bool result = false; 139 bool result = false;
140 view_manager_->RemoveNodeFromParent(node_id, 140 view_manager_->RemoveViewFromParent(node_id,
141 base::Bind(&ViewManagerProxy::GotResult, 141 base::Bind(&ViewManagerProxy::GotResult,
142 base::Unretained(this), &result)); 142 base::Unretained(this), &result));
143 RunMainLoop(); 143 RunMainLoop();
144 return result; 144 return result;
145 } 145 }
146 bool ReorderNode(Id node_id, 146 bool ReorderNode(Id node_id,
147 Id relative_node_id, 147 Id relative_node_id,
148 OrderDirection direction) { 148 OrderDirection direction) {
149 changes_.clear(); 149 changes_.clear();
150 bool result = false; 150 bool result = false;
151 view_manager_->ReorderNode(node_id, relative_node_id, direction, 151 view_manager_->ReorderView(node_id, relative_node_id, direction,
152 base::Bind(&ViewManagerProxy::GotResult, 152 base::Bind(&ViewManagerProxy::GotResult,
153 base::Unretained(this), &result)); 153 base::Unretained(this), &result));
154 RunMainLoop(); 154 RunMainLoop();
155 return result; 155 return result;
156 } 156 }
157 void GetNodeTree(Id node_id, std::vector<TestNode>* nodes) { 157 void GetNodeTree(Id node_id, std::vector<TestNode>* nodes) {
158 changes_.clear(); 158 changes_.clear();
159 view_manager_->GetNodeTree(node_id, 159 view_manager_->GetViewTree(node_id,
160 base::Bind(&ViewManagerProxy::GotNodeTree, 160 base::Bind(&ViewManagerProxy::GotNodeTree,
161 base::Unretained(this), nodes)); 161 base::Unretained(this), nodes));
162 RunMainLoop(); 162 RunMainLoop();
163 } 163 }
164 bool Embed(const Id node_id, const char* url) { 164 bool Embed(const Id node_id, const char* url) {
165 changes_.clear(); 165 changes_.clear();
166 base::AutoReset<bool> auto_reset(&in_embed_, true); 166 base::AutoReset<bool> auto_reset(&in_embed_, true);
167 bool result = false; 167 bool result = false;
168 ServiceProviderPtr services; 168 ServiceProviderPtr services;
169 view_manager_->Embed(url, node_id, services.Pass(), 169 view_manager_->Embed(url, node_id, services.Pass(),
170 base::Bind(&ViewManagerProxy::GotResult, 170 base::Bind(&ViewManagerProxy::GotResult,
171 base::Unretained(this), &result)); 171 base::Unretained(this), &result));
172 RunMainLoop(); 172 RunMainLoop();
173 return result; 173 return result;
174 } 174 }
175 bool DeleteNode(Id node_id) { 175 bool DeleteNode(Id node_id) {
176 changes_.clear(); 176 changes_.clear();
177 bool result = false; 177 bool result = false;
178 view_manager_->DeleteNode(node_id, 178 view_manager_->DeleteView(node_id,
179 base::Bind(&ViewManagerProxy::GotResult, 179 base::Bind(&ViewManagerProxy::GotResult,
180 base::Unretained(this), &result)); 180 base::Unretained(this), &result));
181 RunMainLoop(); 181 RunMainLoop();
182 return result; 182 return result;
183 } 183 }
184 bool SetNodeBounds(Id node_id, const gfx::Rect& bounds) { 184 bool SetNodeBounds(Id node_id, const gfx::Rect& bounds) {
185 changes_.clear(); 185 changes_.clear();
186 bool result = false; 186 bool result = false;
187 view_manager_->SetNodeBounds(node_id, Rect::From(bounds), 187 view_manager_->SetViewBounds(node_id, Rect::From(bounds),
188 base::Bind(&ViewManagerProxy::GotResult, 188 base::Bind(&ViewManagerProxy::GotResult,
189 base::Unretained(this), &result)); 189 base::Unretained(this), &result));
190 RunMainLoop(); 190 RunMainLoop();
191 return result; 191 return result;
192 } 192 }
193 193
194 private: 194 private:
195 friend class TestViewManagerClientConnection; 195 friend class TestViewManagerClientConnection;
196 196
197 void set_router(mojo::internal::Router* router) { router_ = router; } 197 void set_router(mojo::internal::Router* router) { router_ = router; }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 main_run_loop_->Quit(); 231 main_run_loop_->Quit();
232 } 232 }
233 233
234 void GotResultWithErrorCode(ErrorCode* error_code_cache, 234 void GotResultWithErrorCode(ErrorCode* error_code_cache,
235 ErrorCode error_code) { 235 ErrorCode error_code) {
236 *error_code_cache = error_code; 236 *error_code_cache = error_code;
237 DCHECK(main_run_loop_); 237 DCHECK(main_run_loop_);
238 main_run_loop_->Quit(); 238 main_run_loop_->Quit();
239 } 239 }
240 240
241 void GotNodeTree(std::vector<TestNode>* nodes, Array<NodeDataPtr> results) { 241 void GotNodeTree(std::vector<TestNode>* nodes, Array<ViewDataPtr> results) {
242 NodeDatasToTestNodes(results, nodes); 242 ViewDatasToTestNodes(results, nodes);
243 DCHECK(main_run_loop_); 243 DCHECK(main_run_loop_);
244 main_run_loop_->Quit(); 244 main_run_loop_->Quit();
245 } 245 }
246 246
247 // TestChangeTracker::Delegate: 247 // TestChangeTracker::Delegate:
248 virtual void OnChangeAdded() OVERRIDE { 248 virtual void OnChangeAdded() OVERRIDE {
249 if (quit_count_ > 0 && --quit_count_ == 0) 249 if (quit_count_ > 0 && --quit_count_ == 0)
250 QuitCountReached(); 250 QuitCountReached();
251 } 251 }
252 252
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 // InterfaceImpl: 290 // InterfaceImpl:
291 virtual void OnConnectionEstablished() OVERRIDE { 291 virtual void OnConnectionEstablished() OVERRIDE {
292 connection_.set_router(internal_state()->router()); 292 connection_.set_router(internal_state()->router());
293 connection_.set_view_manager(client()); 293 connection_.set_view_manager(client());
294 } 294 }
295 295
296 // ViewManagerClient: 296 // ViewManagerClient:
297 virtual void OnEmbed( 297 virtual void OnEmbed(
298 ConnectionSpecificId connection_id, 298 ConnectionSpecificId connection_id,
299 const String& creator_url, 299 const String& creator_url,
300 NodeDataPtr root, 300 ViewDataPtr root,
301 InterfaceRequest<ServiceProvider> services) OVERRIDE { 301 InterfaceRequest<ServiceProvider> services) OVERRIDE {
302 tracker_.OnEmbed(connection_id, creator_url, root.Pass()); 302 tracker_.OnEmbed(connection_id, creator_url, root.Pass());
303 } 303 }
304 virtual void OnNodeBoundsChanged(Id node_id, 304 virtual void OnViewBoundsChanged(Id node_id,
305 RectPtr old_bounds, 305 RectPtr old_bounds,
306 RectPtr new_bounds) OVERRIDE { 306 RectPtr new_bounds) OVERRIDE {
307 tracker_.OnNodeBoundsChanged(node_id, old_bounds.Pass(), new_bounds.Pass()); 307 tracker_.OnNodeBoundsChanged(node_id, old_bounds.Pass(), new_bounds.Pass());
308 } 308 }
309 virtual void OnNodeHierarchyChanged(Id node, 309 virtual void OnViewHierarchyChanged(Id node,
310 Id new_parent, 310 Id new_parent,
311 Id old_parent, 311 Id old_parent,
312 Array<NodeDataPtr> nodes) OVERRIDE { 312 Array<ViewDataPtr> nodes) OVERRIDE {
313 tracker_.OnNodeHierarchyChanged(node, new_parent, old_parent, nodes.Pass()); 313 tracker_.OnNodeHierarchyChanged(node, new_parent, old_parent, nodes.Pass());
314 } 314 }
315 virtual void OnNodeReordered(Id node_id, 315 virtual void OnViewReordered(Id node_id,
316 Id relative_node_id, 316 Id relative_node_id,
317 OrderDirection direction) OVERRIDE { 317 OrderDirection direction) OVERRIDE {
318 tracker_.OnNodeReordered(node_id, relative_node_id, direction); 318 tracker_.OnNodeReordered(node_id, relative_node_id, direction);
319 } 319 }
320 virtual void OnNodeDeleted(Id node) OVERRIDE { 320 virtual void OnViewDeleted(Id node) OVERRIDE {
321 tracker_.OnNodeDeleted(node); 321 tracker_.OnNodeDeleted(node);
322 } 322 }
323 virtual void OnNodeInputEvent(Id node_id, 323 virtual void OnViewInputEvent(Id node_id,
324 EventPtr event, 324 EventPtr event,
325 const Callback<void()>& callback) OVERRIDE { 325 const Callback<void()>& callback) OVERRIDE {
326 tracker_.OnNodeInputEvent(node_id, event.Pass()); 326 tracker_.OnNodeInputEvent(node_id, event.Pass());
327 } 327 }
328 virtual void OnFocusChanged(Id gained_focus_id, 328 virtual void OnFocusChanged(Id gained_focus_id,
329 Id lost_focus_id) OVERRIDE {} 329 Id lost_focus_id) OVERRIDE {}
330 virtual void Embed( 330 virtual void Embed(
331 const String& url, 331 const String& url,
332 InterfaceRequest<ServiceProvider> service_provider) OVERRIDE { 332 InterfaceRequest<ServiceProvider> service_provider) OVERRIDE {
333 tracker_.DelegateEmbed(url); 333 tracker_.DelegateEmbed(url);
334 } 334 }
335 virtual void DispatchOnNodeInputEvent(Id node_id, 335 virtual void DispatchOnViewInputEvent(Id node_id,
336 mojo::EventPtr event) OVERRIDE { 336 mojo::EventPtr event) OVERRIDE {
337 } 337 }
338 338
339 private: 339 private:
340 TestChangeTracker tracker_; 340 TestChangeTracker tracker_;
341 ViewManagerProxy connection_; 341 ViewManagerProxy connection_;
342 342
343 DISALLOW_COPY_AND_ASSIGN(TestViewManagerClientConnection); 343 DISALLOW_COPY_AND_ASSIGN(TestViewManagerClientConnection);
344 }; 344 };
345 345
(...skipping 825 matching lines...) Expand 10 before | Expand all | Expand 10 after
1171 } 1171 }
1172 1172
1173 TEST_F(ViewManagerTest, OnNodeInput) { 1173 TEST_F(ViewManagerTest, OnNodeInput) {
1174 ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 1))); 1174 ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 1)));
1175 ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(false)); 1175 ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(false));
1176 1176
1177 // Dispatch an event to the node and verify its received. 1177 // Dispatch an event to the node and verify its received.
1178 { 1178 {
1179 EventPtr event(Event::New()); 1179 EventPtr event(Event::New());
1180 event->action = static_cast<EventType>(1); 1180 event->action = static_cast<EventType>(1);
1181 connection_->view_manager()->DispatchOnNodeInputEvent( 1181 connection_->view_manager()->DispatchOnViewInputEvent(
1182 BuildNodeId(1, 1), 1182 BuildNodeId(1, 1),
1183 event.Pass()); 1183 event.Pass());
1184 connection2_->DoRunLoopUntilChangesCount(1); 1184 connection2_->DoRunLoopUntilChangesCount(1);
1185 const Changes changes(ChangesToDescription1(connection2_->changes())); 1185 const Changes changes(ChangesToDescription1(connection2_->changes()));
1186 ASSERT_EQ(1u, changes.size()); 1186 ASSERT_EQ(1u, changes.size());
1187 EXPECT_EQ("InputEvent node=1,1 event_action=1", changes[0]); 1187 EXPECT_EQ("InputEvent node=1,1 event_action=1", changes[0]);
1188 } 1188 }
1189 } 1189 }
1190 1190
1191 TEST_F(ViewManagerTest, EmbedWithSameNodeId) { 1191 TEST_F(ViewManagerTest, EmbedWithSameNodeId) {
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
1284 // that SetBounsdNodes/AddNode and the like don't result in messages to the 1284 // that SetBounsdNodes/AddNode and the like don't result in messages to the
1285 // originating connection. 1285 // originating connection.
1286 1286
1287 // TODO(beng): Add tests for focus: 1287 // TODO(beng): Add tests for focus:
1288 // - focus between two nodes known to a connection 1288 // - focus between two nodes known to a connection
1289 // - focus between nodes unknown to one of the connections. 1289 // - focus between nodes unknown to one of the connections.
1290 // - focus between nodes unknown to either connection. 1290 // - focus between nodes unknown to either connection.
1291 1291
1292 } // namespace service 1292 } // namespace service
1293 } // namespace mojo 1293 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/services/view_manager/view_manager_service_impl.cc ('k') | mojo/services/window_manager/window_manager_api_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698