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

Side by Side Diff: chromeos/dbus/ibus/ibus_config_client_unittest.cc

Issue 16998003: Update CrOS to use scoped_refptr<T>::get() rather than implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 7 years, 6 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chromeos/dbus/ibus/ibus_config_client.h" 5 #include "chromeos/dbus/ibus/ibus_config_client.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 IBusConfigClientTest() {} 275 IBusConfigClientTest() {}
276 276
277 protected: 277 protected:
278 virtual void SetUp() OVERRIDE { 278 virtual void SetUp() OVERRIDE {
279 dbus::Bus::Options options; 279 dbus::Bus::Options options;
280 mock_bus_ = new dbus::MockBus(options); 280 mock_bus_ = new dbus::MockBus(options);
281 mock_proxy_ = new dbus::MockObjectProxy(mock_bus_.get(), 281 mock_proxy_ = new dbus::MockObjectProxy(mock_bus_.get(),
282 ibus::kServiceName, 282 ibus::kServiceName,
283 dbus::ObjectPath( 283 dbus::ObjectPath(
284 ibus::config::kServicePath)); 284 ibus::config::kServicePath));
285 EXPECT_CALL(*mock_bus_, ShutdownAndBlock()); 285 EXPECT_CALL(*mock_bus_.get(), ShutdownAndBlock());
286 client_.reset(IBusConfigClient::Create(REAL_DBUS_CLIENT_IMPLEMENTATION, 286 client_.reset(IBusConfigClient::Create(REAL_DBUS_CLIENT_IMPLEMENTATION,
287 mock_bus_)); 287 mock_bus_.get()));
288 288
289 // Surpress uninteresting mock function call warning. 289 // Surpress uninteresting mock function call warning.
290 EXPECT_CALL(*mock_bus_.get(), AssertOnOriginThread()) 290 EXPECT_CALL(*mock_bus_.get(), AssertOnOriginThread())
291 .WillRepeatedly(Return()); 291 .WillRepeatedly(Return());
292 } 292 }
293 293
294 virtual void TearDown() OVERRIDE { 294 virtual void TearDown() OVERRIDE {
295 mock_bus_->ShutdownAndBlock(); 295 mock_bus_->ShutdownAndBlock();
296 } 296 }
297 297
298 // Initialize |client_| by replying valid owner name synchronously. 298 // Initialize |client_| by replying valid owner name synchronously.
299 void InitializeSync() { 299 void InitializeSync() {
300 EXPECT_CALL(*mock_bus_, GetObjectProxy(ibus::config::kServiceName, 300 EXPECT_CALL(*mock_bus_.get(),
301 dbus::ObjectPath( 301 GetObjectProxy(ibus::config::kServiceName,
302 ibus::config::kServicePath))) 302 dbus::ObjectPath(ibus::config::kServicePath)))
303 .WillOnce(Return(mock_proxy_.get())); 303 .WillOnce(Return(mock_proxy_.get()));
304 304
305 scoped_refptr<dbus::MockObjectProxy> mock_dbus_proxy 305 scoped_refptr<dbus::MockObjectProxy> mock_dbus_proxy
306 = new dbus::MockObjectProxy(mock_bus_.get(), 306 = new dbus::MockObjectProxy(mock_bus_.get(),
307 ibus::kDBusServiceName, 307 ibus::kDBusServiceName,
308 dbus::ObjectPath(ibus::kDBusObjectPath)); 308 dbus::ObjectPath(ibus::kDBusObjectPath));
309 EXPECT_CALL(*mock_bus_, 309 EXPECT_CALL(*mock_bus_.get(),
310 GetObjectProxy(ibus::kDBusServiceName, 310 GetObjectProxy(ibus::kDBusServiceName,
311 dbus::ObjectPath(ibus::kDBusObjectPath))) 311 dbus::ObjectPath(ibus::kDBusObjectPath)))
312 .WillOnce(Return(mock_dbus_proxy.get())); 312 .WillOnce(Return(mock_dbus_proxy.get()));
313 313
314 MockGetNameOwnerMethodCallHandler mock_get_name_owner_method_call; 314 MockGetNameOwnerMethodCallHandler mock_get_name_owner_method_call;
315 EXPECT_CALL(*mock_dbus_proxy, CallMethodWithErrorCallback(_, _, _, _)) 315 EXPECT_CALL(*mock_dbus_proxy.get(), CallMethodWithErrorCallback(_, _, _, _))
316 .WillOnce(Invoke(&mock_get_name_owner_method_call, 316 .WillOnce(Invoke(&mock_get_name_owner_method_call,
317 &MockGetNameOwnerMethodCallHandler::Run)); 317 &MockGetNameOwnerMethodCallHandler::Run));
318 NameOwnerChangedHandler handler; 318 NameOwnerChangedHandler handler;
319 EXPECT_CALL(*mock_dbus_proxy, ConnectToSignal( 319 EXPECT_CALL(*mock_dbus_proxy.get(),
320 ibus::kDBusInterface, 320 ConnectToSignal(
321 ibus::kNameOwnerChangedSignal, 321 ibus::kDBusInterface, ibus::kNameOwnerChangedSignal, _, _))
322 _, 322 .WillOnce(
323 _)).WillOnce(Invoke(&handler, 323 Invoke(&handler, &NameOwnerChangedHandler::OnConnectToSignal));
324 &NameOwnerChangedHandler::OnConnectToSignal));
325 client_->InitializeAsync(base::Bind(&base::DoNothing)); 324 client_->InitializeAsync(base::Bind(&base::DoNothing));
326 mock_get_name_owner_method_call.EmitReplyCallback(":0.1"); 325 mock_get_name_owner_method_call.EmitReplyCallback(":0.1");
327 } 326 }
328 327
329 // The IBus config client to be tested. 328 // The IBus config client to be tested.
330 scoped_ptr<IBusConfigClient> client_; 329 scoped_ptr<IBusConfigClient> client_;
331 330
332 // A message loop to emulate asynchronous behavior. 331 // A message loop to emulate asynchronous behavior.
333 base::MessageLoop message_loop_; 332 base::MessageLoop message_loop_;
334 scoped_refptr<dbus::MockBus> mock_bus_; 333 scoped_refptr<dbus::MockBus> mock_bus_;
335 scoped_refptr<dbus::MockObjectProxy> mock_proxy_; 334 scoped_refptr<dbus::MockObjectProxy> mock_proxy_;
336 }; 335 };
337 336
338 TEST_F(IBusConfigClientTest, SetStringValueTest) { 337 TEST_F(IBusConfigClientTest, SetStringValueTest) {
339 // Set expectations 338 // Set expectations
340 InitializeSync(); 339 InitializeSync();
341 const char value[] = "value"; 340 const char value[] = "value";
342 SetStringValueHandler handler(kSection, kKey, value, HANDLER_SUCCESS); 341 SetStringValueHandler handler(kSection, kKey, value, HANDLER_SUCCESS);
343 EXPECT_CALL(*mock_proxy_, CallMethodWithErrorCallback(_, _, _, _)) 342 EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
344 .WillOnce(Invoke(&handler, &SetValueVerifierBase::Run)); 343 .WillOnce(Invoke(&handler, &SetValueVerifierBase::Run));
345 MockErrorCallback error_callback; 344 MockErrorCallback error_callback;
346 EXPECT_CALL(error_callback, Run()).Times(0); 345 EXPECT_CALL(error_callback, Run()).Times(0);
347 346
348 // Call SetStringValue. 347 // Call SetStringValue.
349 client_->SetStringValue(kKey, kSection, value, 348 client_->SetStringValue(kKey, kSection, value,
350 base::Bind(&MockErrorCallback::Run, 349 base::Bind(&MockErrorCallback::Run,
351 base::Unretained(&error_callback))); 350 base::Unretained(&error_callback)));
352 } 351 }
353 352
354 TEST_F(IBusConfigClientTest, SetStringValueTest_Fail) { 353 TEST_F(IBusConfigClientTest, SetStringValueTest_Fail) {
355 // Set expectations 354 // Set expectations
356 InitializeSync(); 355 InitializeSync();
357 const char value[] = "value"; 356 const char value[] = "value";
358 SetStringValueHandler handler(kSection, kKey, value, HANDLER_FAIL); 357 SetStringValueHandler handler(kSection, kKey, value, HANDLER_FAIL);
359 EXPECT_CALL(*mock_proxy_, CallMethodWithErrorCallback(_, _, _, _)) 358 EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
360 .WillOnce(Invoke(&handler, &SetValueVerifierBase::Run)); 359 .WillOnce(Invoke(&handler, &SetValueVerifierBase::Run));
361 MockErrorCallback error_callback; 360 MockErrorCallback error_callback;
362 EXPECT_CALL(error_callback, Run()); 361 EXPECT_CALL(error_callback, Run());
363 362
364 // Call SetStringValue. 363 // Call SetStringValue.
365 client_->SetStringValue(kKey, kSection, value, 364 client_->SetStringValue(kKey, kSection, value,
366 base::Bind(&MockErrorCallback::Run, 365 base::Bind(&MockErrorCallback::Run,
367 base::Unretained(&error_callback))); 366 base::Unretained(&error_callback)));
368 } 367 }
369 368
370 TEST_F(IBusConfigClientTest, SetIntValueTest) { 369 TEST_F(IBusConfigClientTest, SetIntValueTest) {
371 // Set expectations 370 // Set expectations
372 InitializeSync(); 371 InitializeSync();
373 const int value = 1234; 372 const int value = 1234;
374 SetIntValueHandler handler(kSection, kKey, value, HANDLER_SUCCESS); 373 SetIntValueHandler handler(kSection, kKey, value, HANDLER_SUCCESS);
375 EXPECT_CALL(*mock_proxy_, CallMethodWithErrorCallback(_, _, _, _)) 374 EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
376 .WillOnce(Invoke(&handler, &SetValueVerifierBase::Run)); 375 .WillOnce(Invoke(&handler, &SetValueVerifierBase::Run));
377 MockErrorCallback error_callback; 376 MockErrorCallback error_callback;
378 EXPECT_CALL(error_callback, Run()).Times(0); 377 EXPECT_CALL(error_callback, Run()).Times(0);
379 378
380 // Call SetIntValue. 379 // Call SetIntValue.
381 client_->SetIntValue(kKey, kSection, value, 380 client_->SetIntValue(kKey, kSection, value,
382 base::Bind(&MockErrorCallback::Run, 381 base::Bind(&MockErrorCallback::Run,
383 base::Unretained(&error_callback))); 382 base::Unretained(&error_callback)));
384 } 383 }
385 384
386 TEST_F(IBusConfigClientTest, SetIntValueTest_Fail) { 385 TEST_F(IBusConfigClientTest, SetIntValueTest_Fail) {
387 // Set expectations 386 // Set expectations
388 InitializeSync(); 387 InitializeSync();
389 const int value = 1234; 388 const int value = 1234;
390 SetIntValueHandler handler(kSection, kKey, value, HANDLER_FAIL); 389 SetIntValueHandler handler(kSection, kKey, value, HANDLER_FAIL);
391 EXPECT_CALL(*mock_proxy_, CallMethodWithErrorCallback(_, _, _, _)) 390 EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
392 .WillOnce(Invoke(&handler, &SetValueVerifierBase::Run)); 391 .WillOnce(Invoke(&handler, &SetValueVerifierBase::Run));
393 MockErrorCallback error_callback; 392 MockErrorCallback error_callback;
394 EXPECT_CALL(error_callback, Run()); 393 EXPECT_CALL(error_callback, Run());
395 394
396 // Call SetIntValue. 395 // Call SetIntValue.
397 client_->SetIntValue(kKey, kSection, value, 396 client_->SetIntValue(kKey, kSection, value,
398 base::Bind(&MockErrorCallback::Run, 397 base::Bind(&MockErrorCallback::Run,
399 base::Unretained(&error_callback))); 398 base::Unretained(&error_callback)));
400 } 399 }
401 400
402 TEST_F(IBusConfigClientTest, SetBoolValueTest) { 401 TEST_F(IBusConfigClientTest, SetBoolValueTest) {
403 // Set expectations 402 // Set expectations
404 InitializeSync(); 403 InitializeSync();
405 const bool value = true; 404 const bool value = true;
406 SetBoolValueHandler handler(kSection, kKey, value, HANDLER_SUCCESS); 405 SetBoolValueHandler handler(kSection, kKey, value, HANDLER_SUCCESS);
407 EXPECT_CALL(*mock_proxy_, CallMethodWithErrorCallback(_, _, _, _)) 406 EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
408 .WillOnce(Invoke(&handler, &SetValueVerifierBase::Run)); 407 .WillOnce(Invoke(&handler, &SetValueVerifierBase::Run));
409 MockErrorCallback error_callback; 408 MockErrorCallback error_callback;
410 EXPECT_CALL(error_callback, Run()).Times(0); 409 EXPECT_CALL(error_callback, Run()).Times(0);
411 410
412 // Call SetBoolValue. 411 // Call SetBoolValue.
413 client_->SetBoolValue(kKey, kSection, value, 412 client_->SetBoolValue(kKey, kSection, value,
414 base::Bind(&MockErrorCallback::Run, 413 base::Bind(&MockErrorCallback::Run,
415 base::Unretained(&error_callback))); 414 base::Unretained(&error_callback)));
416 } 415 }
417 416
418 TEST_F(IBusConfigClientTest, SetBoolValueTest_Fail) { 417 TEST_F(IBusConfigClientTest, SetBoolValueTest_Fail) {
419 // Set expectations 418 // Set expectations
420 InitializeSync(); 419 InitializeSync();
421 const bool value = true; 420 const bool value = true;
422 SetBoolValueHandler handler(kSection, kKey, value, HANDLER_FAIL); 421 SetBoolValueHandler handler(kSection, kKey, value, HANDLER_FAIL);
423 EXPECT_CALL(*mock_proxy_, CallMethodWithErrorCallback(_, _, _, _)) 422 EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
424 .WillOnce(Invoke(&handler, &SetValueVerifierBase::Run)); 423 .WillOnce(Invoke(&handler, &SetValueVerifierBase::Run));
425 MockErrorCallback error_callback; 424 MockErrorCallback error_callback;
426 EXPECT_CALL(error_callback, Run()); 425 EXPECT_CALL(error_callback, Run());
427 426
428 // Call SetBoolValue. 427 // Call SetBoolValue.
429 client_->SetBoolValue(kKey, kSection, value, 428 client_->SetBoolValue(kKey, kSection, value,
430 base::Bind(&MockErrorCallback::Run, 429 base::Bind(&MockErrorCallback::Run,
431 base::Unretained(&error_callback))); 430 base::Unretained(&error_callback)));
432 } 431 }
433 432
434 TEST_F(IBusConfigClientTest, SetStringListValueTest) { 433 TEST_F(IBusConfigClientTest, SetStringListValueTest) {
435 // Set expectations 434 // Set expectations
436 InitializeSync(); 435 InitializeSync();
437 std::vector<std::string> value; 436 std::vector<std::string> value;
438 value.push_back("Sample value 1"); 437 value.push_back("Sample value 1");
439 value.push_back("Sample value 2"); 438 value.push_back("Sample value 2");
440 439
441 SetStringListValueHandler handler(kSection, kKey, value, HANDLER_SUCCESS); 440 SetStringListValueHandler handler(kSection, kKey, value, HANDLER_SUCCESS);
442 EXPECT_CALL(*mock_proxy_, CallMethodWithErrorCallback(_, _, _, _)) 441 EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
443 .WillOnce(Invoke(&handler, &SetValueVerifierBase::Run)); 442 .WillOnce(Invoke(&handler, &SetValueVerifierBase::Run));
444 MockErrorCallback error_callback; 443 MockErrorCallback error_callback;
445 EXPECT_CALL(error_callback, Run()).Times(0); 444 EXPECT_CALL(error_callback, Run()).Times(0);
446 445
447 // Call SetStringListValue. 446 // Call SetStringListValue.
448 client_->SetStringListValue(kKey, kSection, value, 447 client_->SetStringListValue(kKey, kSection, value,
449 base::Bind(&MockErrorCallback::Run, 448 base::Bind(&MockErrorCallback::Run,
450 base::Unretained(&error_callback))); 449 base::Unretained(&error_callback)));
451 } 450 }
452 451
453 TEST_F(IBusConfigClientTest, SetStringListValueTest_Fail) { 452 TEST_F(IBusConfigClientTest, SetStringListValueTest_Fail) {
454 // Set expectations 453 // Set expectations
455 InitializeSync(); 454 InitializeSync();
456 std::vector<std::string> value; 455 std::vector<std::string> value;
457 value.push_back("Sample value 1"); 456 value.push_back("Sample value 1");
458 value.push_back("Sample value 2"); 457 value.push_back("Sample value 2");
459 458
460 SetStringListValueHandler handler(kSection, kKey, value, HANDLER_FAIL); 459 SetStringListValueHandler handler(kSection, kKey, value, HANDLER_FAIL);
461 EXPECT_CALL(*mock_proxy_, CallMethodWithErrorCallback(_, _, _, _)) 460 EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
462 .WillOnce(Invoke(&handler, &SetValueVerifierBase::Run)); 461 .WillOnce(Invoke(&handler, &SetValueVerifierBase::Run));
463 MockErrorCallback error_callback; 462 MockErrorCallback error_callback;
464 EXPECT_CALL(error_callback, Run()); 463 EXPECT_CALL(error_callback, Run());
465 464
466 // Call SetStringListValue. 465 // Call SetStringListValue.
467 client_->SetStringListValue(kKey, kSection, value, 466 client_->SetStringListValue(kKey, kSection, value,
468 base::Bind(&MockErrorCallback::Run, 467 base::Bind(&MockErrorCallback::Run,
469 base::Unretained(&error_callback))); 468 base::Unretained(&error_callback)));
470 } 469 }
471 470
472 TEST_F(IBusConfigClientTest, IBusConfigDaemon_NotAvailableTest) { 471 TEST_F(IBusConfigClientTest, IBusConfigDaemon_NotAvailableTest) {
473 MockGetNameOwnerMethodCallHandler mock_get_name_owner_method_call; 472 MockGetNameOwnerMethodCallHandler mock_get_name_owner_method_call;
474 473
475 EXPECT_CALL(*mock_bus_, GetObjectProxy(ibus::kServiceName, 474 EXPECT_CALL(*mock_bus_.get(),
476 dbus::ObjectPath( 475 GetObjectProxy(ibus::kServiceName,
477 ibus::config::kServicePath))) 476 dbus::ObjectPath(ibus::config::kServicePath)))
478 .Times(0); 477 .Times(0);
479 478
480 scoped_refptr<dbus::MockObjectProxy> mock_dbus_proxy 479 scoped_refptr<dbus::MockObjectProxy> mock_dbus_proxy
481 = new dbus::MockObjectProxy(mock_bus_.get(), 480 = new dbus::MockObjectProxy(mock_bus_.get(),
482 ibus::kDBusServiceName, 481 ibus::kDBusServiceName,
483 dbus::ObjectPath(ibus::kDBusObjectPath)); 482 dbus::ObjectPath(ibus::kDBusObjectPath));
484 EXPECT_CALL(*mock_bus_, 483 EXPECT_CALL(*mock_bus_.get(),
485 GetObjectProxy(ibus::kDBusServiceName, 484 GetObjectProxy(ibus::kDBusServiceName,
486 dbus::ObjectPath(ibus::kDBusObjectPath))) 485 dbus::ObjectPath(ibus::kDBusObjectPath)))
487 .WillOnce(Return(mock_dbus_proxy.get())); 486 .WillOnce(Return(mock_dbus_proxy.get()));
488 EXPECT_CALL(*mock_dbus_proxy, CallMethodWithErrorCallback(_, _, _, _)) 487 EXPECT_CALL(*mock_dbus_proxy.get(), CallMethodWithErrorCallback(_, _, _, _))
489 .WillOnce(Invoke(&mock_get_name_owner_method_call, 488 .WillOnce(Invoke(&mock_get_name_owner_method_call,
490 &MockGetNameOwnerMethodCallHandler::Run)); 489 &MockGetNameOwnerMethodCallHandler::Run));
491 NameOwnerChangedHandler handler; 490 NameOwnerChangedHandler handler;
492 EXPECT_CALL(*mock_dbus_proxy, ConnectToSignal( 491 EXPECT_CALL(*mock_dbus_proxy.get(),
493 ibus::kDBusInterface, 492 ConnectToSignal(
494 ibus::kNameOwnerChangedSignal, 493 ibus::kDBusInterface, ibus::kNameOwnerChangedSignal, _, _))
495 _, 494 .WillOnce(Invoke(&handler, &NameOwnerChangedHandler::OnConnectToSignal));
496 _)).WillOnce(Invoke(&handler,
497 &NameOwnerChangedHandler::OnConnectToSignal));
498 client_->InitializeAsync(base::Bind(&base::DoNothing)); 495 client_->InitializeAsync(base::Bind(&base::DoNothing));
499 496
500 // Passing empty string means there is no owner, thus ibus-config daemon is 497 // Passing empty string means there is no owner, thus ibus-config daemon is
501 // not ready. 498 // not ready.
502 mock_get_name_owner_method_call.EmitReplyCallback(""); 499 mock_get_name_owner_method_call.EmitReplyCallback("");
503 500
504 // Make sure not crashing by function call without initialize. 501 // Make sure not crashing by function call without initialize.
505 const bool value = true; 502 const bool value = true;
506 EXPECT_CALL(*mock_proxy_, CallMethodWithErrorCallback(_, _, _, _)).Times(0); 503 EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
504 .Times(0);
507 MockErrorCallback error_callback; 505 MockErrorCallback error_callback;
508 EXPECT_CALL(error_callback, Run()).Times(0); 506 EXPECT_CALL(error_callback, Run()).Times(0);
509 client_->SetBoolValue(kKey, kSection, value, 507 client_->SetBoolValue(kKey, kSection, value,
510 base::Bind(&MockErrorCallback::Run, 508 base::Bind(&MockErrorCallback::Run,
511 base::Unretained(&error_callback))); 509 base::Unretained(&error_callback)));
512 } 510 }
513 511
514 TEST_F(IBusConfigClientTest, IBusConfigDaemon_SlowInitializeTest) { 512 TEST_F(IBusConfigClientTest, IBusConfigDaemon_SlowInitializeTest) {
515 MockGetNameOwnerMethodCallHandler mock_get_name_owner_method_call; 513 MockGetNameOwnerMethodCallHandler mock_get_name_owner_method_call;
516 514
517 EXPECT_CALL(*mock_bus_, GetObjectProxy(ibus::config::kServiceName, 515 EXPECT_CALL(*mock_bus_.get(),
518 dbus::ObjectPath( 516 GetObjectProxy(ibus::config::kServiceName,
519 ibus::config::kServicePath))) 517 dbus::ObjectPath(ibus::config::kServicePath)))
520 .WillOnce(Return(mock_proxy_.get())); 518 .WillOnce(Return(mock_proxy_.get()));
521 519
522 scoped_refptr<dbus::MockObjectProxy> mock_dbus_proxy 520 scoped_refptr<dbus::MockObjectProxy> mock_dbus_proxy
523 = new dbus::MockObjectProxy(mock_bus_.get(), 521 = new dbus::MockObjectProxy(mock_bus_.get(),
524 ibus::kDBusServiceName, 522 ibus::kDBusServiceName,
525 dbus::ObjectPath(ibus::kDBusObjectPath)); 523 dbus::ObjectPath(ibus::kDBusObjectPath));
526 EXPECT_CALL(*mock_bus_, 524 EXPECT_CALL(*mock_bus_.get(),
527 GetObjectProxy(ibus::kDBusServiceName, 525 GetObjectProxy(ibus::kDBusServiceName,
528 dbus::ObjectPath(ibus::kDBusObjectPath))) 526 dbus::ObjectPath(ibus::kDBusObjectPath)))
529 .WillOnce(Return(mock_dbus_proxy.get())); 527 .WillOnce(Return(mock_dbus_proxy.get()));
530 EXPECT_CALL(*mock_dbus_proxy, CallMethodWithErrorCallback(_, _, _, _)) 528 EXPECT_CALL(*mock_dbus_proxy.get(), CallMethodWithErrorCallback(_, _, _, _))
531 .WillOnce(Invoke(&mock_get_name_owner_method_call, 529 .WillOnce(Invoke(&mock_get_name_owner_method_call,
532 &MockGetNameOwnerMethodCallHandler::Run)); 530 &MockGetNameOwnerMethodCallHandler::Run));
533 NameOwnerChangedHandler name_owner_changed_handler; 531 NameOwnerChangedHandler name_owner_changed_handler;
534 EXPECT_CALL(*mock_dbus_proxy, ConnectToSignal( 532 EXPECT_CALL(*mock_dbus_proxy.get(),
535 ibus::kDBusInterface, 533 ConnectToSignal(
536 ibus::kNameOwnerChangedSignal, 534 ibus::kDBusInterface, ibus::kNameOwnerChangedSignal, _, _))
537 _, 535 .WillOnce(Invoke(&name_owner_changed_handler,
538 _)).WillOnce(Invoke(&name_owner_changed_handler, 536 &NameOwnerChangedHandler::OnConnectToSignal));
539 &NameOwnerChangedHandler::OnConnectToSignal));
540 client_->InitializeAsync(base::Bind(&base::DoNothing)); 537 client_->InitializeAsync(base::Bind(&base::DoNothing));
541 538
542 // Passing empty string means there is no owner, thus ibus-config daemon is 539 // Passing empty string means there is no owner, thus ibus-config daemon is
543 // not ready. 540 // not ready.
544 mock_get_name_owner_method_call.EmitReplyCallback(""); 541 mock_get_name_owner_method_call.EmitReplyCallback("");
545 542
546 // Fire NameOwnerChanged signal to emulate ibus-config daemon was acquired 543 // Fire NameOwnerChanged signal to emulate ibus-config daemon was acquired
547 // well-known name. 544 // well-known name.
548 name_owner_changed_handler.InvokeSignal(ibus::config::kServiceName, 545 name_owner_changed_handler.InvokeSignal(ibus::config::kServiceName,
549 "", 546 "",
550 ":0.1"); 547 ":0.1");
551 548
552 // Make sure it is possible to emit method calls. 549 // Make sure it is possible to emit method calls.
553 const bool value = true; 550 const bool value = true;
554 SetBoolValueHandler handler(kSection, kKey, value, HANDLER_FAIL); 551 SetBoolValueHandler handler(kSection, kKey, value, HANDLER_FAIL);
555 EXPECT_CALL(*mock_proxy_, CallMethodWithErrorCallback(_, _, _, _)) 552 EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
556 .WillOnce(Invoke(&handler, &SetValueVerifierBase::Run)); 553 .WillOnce(Invoke(&handler, &SetValueVerifierBase::Run));
557 MockErrorCallback error_callback; 554 MockErrorCallback error_callback;
558 EXPECT_CALL(error_callback, Run()); 555 EXPECT_CALL(error_callback, Run());
559 556
560 // Call SetBoolValue. 557 // Call SetBoolValue.
561 client_->SetBoolValue(kKey, kSection, value, 558 client_->SetBoolValue(kKey, kSection, value,
562 base::Bind(&MockErrorCallback::Run, 559 base::Bind(&MockErrorCallback::Run,
563 base::Unretained(&error_callback))); 560 base::Unretained(&error_callback)));
564 } 561 }
565 562
566 TEST_F(IBusConfigClientTest, IBusConfigDaemon_ShutdownTest) { 563 TEST_F(IBusConfigClientTest, IBusConfigDaemon_ShutdownTest) {
567 MockGetNameOwnerMethodCallHandler mock_get_name_owner_method_call; 564 MockGetNameOwnerMethodCallHandler mock_get_name_owner_method_call;
568 565
569 EXPECT_CALL(*mock_bus_, GetObjectProxy(ibus::config::kServiceName, 566 EXPECT_CALL(*mock_bus_.get(),
570 dbus::ObjectPath( 567 GetObjectProxy(ibus::config::kServiceName,
571 ibus::config::kServicePath))) 568 dbus::ObjectPath(ibus::config::kServicePath)))
572 .WillRepeatedly(Return(mock_proxy_.get())); 569 .WillRepeatedly(Return(mock_proxy_.get()));
573 570
574 scoped_refptr<dbus::MockObjectProxy> mock_dbus_proxy 571 scoped_refptr<dbus::MockObjectProxy> mock_dbus_proxy
575 = new dbus::MockObjectProxy(mock_bus_.get(), 572 = new dbus::MockObjectProxy(mock_bus_.get(),
576 ibus::kDBusServiceName, 573 ibus::kDBusServiceName,
577 dbus::ObjectPath(ibus::kDBusObjectPath)); 574 dbus::ObjectPath(ibus::kDBusObjectPath));
578 EXPECT_CALL(*mock_bus_, 575 EXPECT_CALL(*mock_bus_.get(),
579 GetObjectProxy(ibus::kDBusServiceName, 576 GetObjectProxy(ibus::kDBusServiceName,
580 dbus::ObjectPath(ibus::kDBusObjectPath))) 577 dbus::ObjectPath(ibus::kDBusObjectPath)))
581 .WillOnce(Return(mock_dbus_proxy.get())); 578 .WillOnce(Return(mock_dbus_proxy.get()));
582 EXPECT_CALL(*mock_dbus_proxy, CallMethodWithErrorCallback(_, _, _, _)) 579 EXPECT_CALL(*mock_dbus_proxy.get(), CallMethodWithErrorCallback(_, _, _, _))
583 .WillOnce(Invoke(&mock_get_name_owner_method_call, 580 .WillOnce(Invoke(&mock_get_name_owner_method_call,
584 &MockGetNameOwnerMethodCallHandler::Run)); 581 &MockGetNameOwnerMethodCallHandler::Run));
585 NameOwnerChangedHandler name_owner_changed_handler; 582 NameOwnerChangedHandler name_owner_changed_handler;
586 EXPECT_CALL(*mock_dbus_proxy, ConnectToSignal( 583 EXPECT_CALL(*mock_dbus_proxy.get(),
587 ibus::kDBusInterface, 584 ConnectToSignal(
588 ibus::kNameOwnerChangedSignal, 585 ibus::kDBusInterface, ibus::kNameOwnerChangedSignal, _, _))
589 _, 586 .WillOnce(Invoke(&name_owner_changed_handler,
590 _)).WillOnce(Invoke(&name_owner_changed_handler, 587 &NameOwnerChangedHandler::OnConnectToSignal));
591 &NameOwnerChangedHandler::OnConnectToSignal));
592 client_->InitializeAsync(base::Bind(&base::DoNothing)); 588 client_->InitializeAsync(base::Bind(&base::DoNothing));
593 589
594 const bool value = true; 590 const bool value = true;
595 SetBoolValueHandler handler(kSection, kKey, value, HANDLER_FAIL); 591 SetBoolValueHandler handler(kSection, kKey, value, HANDLER_FAIL);
596 EXPECT_CALL(*mock_proxy_, CallMethodWithErrorCallback(_, _, _, _)) 592 EXPECT_CALL(*mock_proxy_.get(), CallMethodWithErrorCallback(_, _, _, _))
597 .WillRepeatedly(Invoke(&handler, &SetValueVerifierBase::Run)); 593 .WillRepeatedly(Invoke(&handler, &SetValueVerifierBase::Run));
598 MockErrorCallback error_callback; 594 MockErrorCallback error_callback;
599 EXPECT_CALL(error_callback, Run()).WillRepeatedly(Return()); 595 EXPECT_CALL(error_callback, Run()).WillRepeatedly(Return());
600 596
601 // Initialize succeeded sucessfully. 597 // Initialize succeeded sucessfully.
602 mock_get_name_owner_method_call.EmitReplyCallback(":0.2"); 598 mock_get_name_owner_method_call.EmitReplyCallback(":0.2");
603 599
604 // Call SetBoolValue. 600 // Call SetBoolValue.
605 client_->SetBoolValue(kKey, kSection, value, 601 client_->SetBoolValue(kKey, kSection, value,
606 base::Bind(&MockErrorCallback::Run, 602 base::Bind(&MockErrorCallback::Run,
(...skipping 15 matching lines...) Expand all
622 "", 618 "",
623 ":0.2"); 619 ":0.2");
624 620
625 // Make sure it is possible to emit method calls. 621 // Make sure it is possible to emit method calls.
626 client_->SetBoolValue(kKey, kSection, value, 622 client_->SetBoolValue(kKey, kSection, value,
627 base::Bind(&MockErrorCallback::Run, 623 base::Bind(&MockErrorCallback::Run,
628 base::Unretained(&error_callback))); 624 base::Unretained(&error_callback)));
629 } 625 }
630 626
631 } // namespace chromeos 627 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/dbus/ibus/ibus_client_unittest.cc ('k') | chromeos/dbus/ibus/ibus_engine_factory_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698