| OLD | NEW |
| 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 "chrome/browser/ui/webui/options/sync_setup_handler.h" | 5 #include "chrome/browser/ui/webui/options/sync_setup_handler.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 511 ASSERT_FALSE(handler_->is_configuring_sync()); | 511 ASSERT_FALSE(handler_->is_configuring_sync()); |
| 512 } | 512 } |
| 513 | 513 |
| 514 #endif // #if !defined(OS_CHROMEOS) | 514 #endif // #if !defined(OS_CHROMEOS) |
| 515 | 515 |
| 516 TEST_F(SyncSetupHandlerTest, TestSyncEverything) { | 516 TEST_F(SyncSetupHandlerTest, TestSyncEverything) { |
| 517 std::string args = | 517 std::string args = |
| 518 GetConfiguration(NULL, SYNC_ALL_DATA, GetAllTypes(), std::string(), | 518 GetConfiguration(NULL, SYNC_ALL_DATA, GetAllTypes(), std::string(), |
| 519 ENCRYPT_PASSWORDS, PAYMENTS_INTEGRATION_ENABLED); | 519 ENCRYPT_PASSWORDS, PAYMENTS_INTEGRATION_ENABLED); |
| 520 base::ListValue list_args; | 520 base::ListValue list_args; |
| 521 list_args.Append(new base::StringValue(args)); | 521 list_args.AppendString(args); |
| 522 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) | 522 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) |
| 523 .WillRepeatedly(Return(false)); | 523 .WillRepeatedly(Return(false)); |
| 524 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) | 524 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) |
| 525 .WillRepeatedly(Return(false)); | 525 .WillRepeatedly(Return(false)); |
| 526 SetupInitializedProfileSyncService(); | 526 SetupInitializedProfileSyncService(); |
| 527 EXPECT_CALL(*mock_pss_, OnUserChoseDatatypes(true, _)); | 527 EXPECT_CALL(*mock_pss_, OnUserChoseDatatypes(true, _)); |
| 528 handler_->HandleConfigure(&list_args); | 528 handler_->HandleConfigure(&list_args); |
| 529 | 529 |
| 530 // Ensure that we navigated to the "done" state since we don't need a | 530 // Ensure that we navigated to the "done" state since we don't need a |
| 531 // passphrase. | 531 // passphrase. |
| 532 ExpectDone(); | 532 ExpectDone(); |
| 533 } | 533 } |
| 534 | 534 |
| 535 TEST_F(SyncSetupHandlerTest, TurnOnEncryptAll) { | 535 TEST_F(SyncSetupHandlerTest, TurnOnEncryptAll) { |
| 536 std::string args = | 536 std::string args = |
| 537 GetConfiguration(NULL, SYNC_ALL_DATA, GetAllTypes(), std::string(), | 537 GetConfiguration(NULL, SYNC_ALL_DATA, GetAllTypes(), std::string(), |
| 538 ENCRYPT_ALL_DATA, PAYMENTS_INTEGRATION_ENABLED); | 538 ENCRYPT_ALL_DATA, PAYMENTS_INTEGRATION_ENABLED); |
| 539 base::ListValue list_args; | 539 base::ListValue list_args; |
| 540 list_args.Append(new base::StringValue(args)); | 540 list_args.AppendString(args); |
| 541 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) | 541 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) |
| 542 .WillRepeatedly(Return(false)); | 542 .WillRepeatedly(Return(false)); |
| 543 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) | 543 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) |
| 544 .WillRepeatedly(Return(false)); | 544 .WillRepeatedly(Return(false)); |
| 545 EXPECT_CALL(*mock_pss_, IsEncryptEverythingAllowed()) | 545 EXPECT_CALL(*mock_pss_, IsEncryptEverythingAllowed()) |
| 546 .WillRepeatedly(Return(true)); | 546 .WillRepeatedly(Return(true)); |
| 547 SetupInitializedProfileSyncService(); | 547 SetupInitializedProfileSyncService(); |
| 548 EXPECT_CALL(*mock_pss_, EnableEncryptEverything()); | 548 EXPECT_CALL(*mock_pss_, EnableEncryptEverything()); |
| 549 EXPECT_CALL(*mock_pss_, OnUserChoseDatatypes(true, _)); | 549 EXPECT_CALL(*mock_pss_, OnUserChoseDatatypes(true, _)); |
| 550 handler_->HandleConfigure(&list_args); | 550 handler_->HandleConfigure(&list_args); |
| 551 | 551 |
| 552 // Ensure that we navigated to the "done" state since we don't need a | 552 // Ensure that we navigated to the "done" state since we don't need a |
| 553 // passphrase. | 553 // passphrase. |
| 554 ExpectDone(); | 554 ExpectDone(); |
| 555 } | 555 } |
| 556 | 556 |
| 557 TEST_F(SyncSetupHandlerTest, TestPassphraseStillRequired) { | 557 TEST_F(SyncSetupHandlerTest, TestPassphraseStillRequired) { |
| 558 std::string args = | 558 std::string args = |
| 559 GetConfiguration(NULL, SYNC_ALL_DATA, GetAllTypes(), std::string(), | 559 GetConfiguration(NULL, SYNC_ALL_DATA, GetAllTypes(), std::string(), |
| 560 ENCRYPT_PASSWORDS, PAYMENTS_INTEGRATION_ENABLED); | 560 ENCRYPT_PASSWORDS, PAYMENTS_INTEGRATION_ENABLED); |
| 561 base::ListValue list_args; | 561 base::ListValue list_args; |
| 562 list_args.Append(new base::StringValue(args)); | 562 list_args.AppendString(args); |
| 563 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) | 563 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) |
| 564 .WillRepeatedly(Return(true)); | 564 .WillRepeatedly(Return(true)); |
| 565 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) | 565 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) |
| 566 .WillRepeatedly(Return(true)); | 566 .WillRepeatedly(Return(true)); |
| 567 EXPECT_CALL(*mock_pss_, IsUsingSecondaryPassphrase()) | 567 EXPECT_CALL(*mock_pss_, IsUsingSecondaryPassphrase()) |
| 568 .WillRepeatedly(Return(false)); | 568 .WillRepeatedly(Return(false)); |
| 569 SetupInitializedProfileSyncService(); | 569 SetupInitializedProfileSyncService(); |
| 570 EXPECT_CALL(*mock_pss_, OnUserChoseDatatypes(_, _)); | 570 EXPECT_CALL(*mock_pss_, OnUserChoseDatatypes(_, _)); |
| 571 SetDefaultExpectationsForConfigPage(); | 571 SetDefaultExpectationsForConfigPage(); |
| 572 | 572 |
| 573 // We should navigate back to the configure page since we need a passphrase. | 573 // We should navigate back to the configure page since we need a passphrase. |
| 574 handler_->HandleConfigure(&list_args); | 574 handler_->HandleConfigure(&list_args); |
| 575 | 575 |
| 576 ExpectConfig(); | 576 ExpectConfig(); |
| 577 } | 577 } |
| 578 | 578 |
| 579 TEST_F(SyncSetupHandlerTest, SuccessfullySetPassphrase) { | 579 TEST_F(SyncSetupHandlerTest, SuccessfullySetPassphrase) { |
| 580 base::DictionaryValue dict; | 580 base::DictionaryValue dict; |
| 581 dict.SetBoolean("isGooglePassphrase", true); | 581 dict.SetBoolean("isGooglePassphrase", true); |
| 582 std::string args = | 582 std::string args = |
| 583 GetConfiguration(&dict, SYNC_ALL_DATA, GetAllTypes(), "gaiaPassphrase", | 583 GetConfiguration(&dict, SYNC_ALL_DATA, GetAllTypes(), "gaiaPassphrase", |
| 584 ENCRYPT_PASSWORDS, PAYMENTS_INTEGRATION_ENABLED); | 584 ENCRYPT_PASSWORDS, PAYMENTS_INTEGRATION_ENABLED); |
| 585 base::ListValue list_args; | 585 base::ListValue list_args; |
| 586 list_args.Append(new base::StringValue(args)); | 586 list_args.AppendString(args); |
| 587 // Act as if an encryption passphrase is required the first time, then never | 587 // Act as if an encryption passphrase is required the first time, then never |
| 588 // again after that. | 588 // again after that. |
| 589 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()).WillOnce(Return(true)); | 589 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()).WillOnce(Return(true)); |
| 590 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) | 590 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) |
| 591 .WillRepeatedly(Return(false)); | 591 .WillRepeatedly(Return(false)); |
| 592 EXPECT_CALL(*mock_pss_, IsUsingSecondaryPassphrase()) | 592 EXPECT_CALL(*mock_pss_, IsUsingSecondaryPassphrase()) |
| 593 .WillRepeatedly(Return(false)); | 593 .WillRepeatedly(Return(false)); |
| 594 SetupInitializedProfileSyncService(); | 594 SetupInitializedProfileSyncService(); |
| 595 EXPECT_CALL(*mock_pss_, OnUserChoseDatatypes(_, _)); | 595 EXPECT_CALL(*mock_pss_, OnUserChoseDatatypes(_, _)); |
| 596 EXPECT_CALL(*mock_pss_, SetDecryptionPassphrase("gaiaPassphrase")). | 596 EXPECT_CALL(*mock_pss_, SetDecryptionPassphrase("gaiaPassphrase")). |
| 597 WillOnce(Return(true)); | 597 WillOnce(Return(true)); |
| 598 | 598 |
| 599 handler_->HandleConfigure(&list_args); | 599 handler_->HandleConfigure(&list_args); |
| 600 // We should navigate to "done" page since we finished configuring. | 600 // We should navigate to "done" page since we finished configuring. |
| 601 ExpectDone(); | 601 ExpectDone(); |
| 602 } | 602 } |
| 603 | 603 |
| 604 TEST_F(SyncSetupHandlerTest, SelectCustomEncryption) { | 604 TEST_F(SyncSetupHandlerTest, SelectCustomEncryption) { |
| 605 base::DictionaryValue dict; | 605 base::DictionaryValue dict; |
| 606 dict.SetBoolean("isGooglePassphrase", false); | 606 dict.SetBoolean("isGooglePassphrase", false); |
| 607 std::string args = | 607 std::string args = |
| 608 GetConfiguration(&dict, SYNC_ALL_DATA, GetAllTypes(), "custom_passphrase", | 608 GetConfiguration(&dict, SYNC_ALL_DATA, GetAllTypes(), "custom_passphrase", |
| 609 ENCRYPT_PASSWORDS, PAYMENTS_INTEGRATION_ENABLED); | 609 ENCRYPT_PASSWORDS, PAYMENTS_INTEGRATION_ENABLED); |
| 610 base::ListValue list_args; | 610 base::ListValue list_args; |
| 611 list_args.Append(new base::StringValue(args)); | 611 list_args.AppendString(args); |
| 612 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) | 612 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) |
| 613 .WillRepeatedly(Return(false)); | 613 .WillRepeatedly(Return(false)); |
| 614 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) | 614 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) |
| 615 .WillRepeatedly(Return(false)); | 615 .WillRepeatedly(Return(false)); |
| 616 EXPECT_CALL(*mock_pss_, IsUsingSecondaryPassphrase()) | 616 EXPECT_CALL(*mock_pss_, IsUsingSecondaryPassphrase()) |
| 617 .WillRepeatedly(Return(false)); | 617 .WillRepeatedly(Return(false)); |
| 618 SetupInitializedProfileSyncService(); | 618 SetupInitializedProfileSyncService(); |
| 619 EXPECT_CALL(*mock_pss_, OnUserChoseDatatypes(_, _)); | 619 EXPECT_CALL(*mock_pss_, OnUserChoseDatatypes(_, _)); |
| 620 EXPECT_CALL(*mock_pss_, | 620 EXPECT_CALL(*mock_pss_, |
| 621 SetEncryptionPassphrase("custom_passphrase", | 621 SetEncryptionPassphrase("custom_passphrase", |
| 622 ProfileSyncService::EXPLICIT)); | 622 ProfileSyncService::EXPLICIT)); |
| 623 | 623 |
| 624 handler_->HandleConfigure(&list_args); | 624 handler_->HandleConfigure(&list_args); |
| 625 // We should navigate to "done" page since we finished configuring. | 625 // We should navigate to "done" page since we finished configuring. |
| 626 ExpectDone(); | 626 ExpectDone(); |
| 627 } | 627 } |
| 628 | 628 |
| 629 TEST_F(SyncSetupHandlerTest, UnsuccessfullySetPassphrase) { | 629 TEST_F(SyncSetupHandlerTest, UnsuccessfullySetPassphrase) { |
| 630 base::DictionaryValue dict; | 630 base::DictionaryValue dict; |
| 631 dict.SetBoolean("isGooglePassphrase", true); | 631 dict.SetBoolean("isGooglePassphrase", true); |
| 632 std::string args = GetConfiguration(&dict, SYNC_ALL_DATA, GetAllTypes(), | 632 std::string args = GetConfiguration(&dict, SYNC_ALL_DATA, GetAllTypes(), |
| 633 "invalid_passphrase", ENCRYPT_PASSWORDS, | 633 "invalid_passphrase", ENCRYPT_PASSWORDS, |
| 634 PAYMENTS_INTEGRATION_ENABLED); | 634 PAYMENTS_INTEGRATION_ENABLED); |
| 635 base::ListValue list_args; | 635 base::ListValue list_args; |
| 636 list_args.Append(new base::StringValue(args)); | 636 list_args.AppendString(args); |
| 637 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) | 637 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) |
| 638 .WillRepeatedly(Return(true)); | 638 .WillRepeatedly(Return(true)); |
| 639 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) | 639 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) |
| 640 .WillRepeatedly(Return(true)); | 640 .WillRepeatedly(Return(true)); |
| 641 EXPECT_CALL(*mock_pss_, IsUsingSecondaryPassphrase()) | 641 EXPECT_CALL(*mock_pss_, IsUsingSecondaryPassphrase()) |
| 642 .WillRepeatedly(Return(false)); | 642 .WillRepeatedly(Return(false)); |
| 643 SetupInitializedProfileSyncService(); | 643 SetupInitializedProfileSyncService(); |
| 644 EXPECT_CALL(*mock_pss_, OnUserChoseDatatypes(_, _)); | 644 EXPECT_CALL(*mock_pss_, OnUserChoseDatatypes(_, _)); |
| 645 EXPECT_CALL(*mock_pss_, SetDecryptionPassphrase("invalid_passphrase")). | 645 EXPECT_CALL(*mock_pss_, SetDecryptionPassphrase("invalid_passphrase")). |
| 646 WillOnce(Return(false)); | 646 WillOnce(Return(false)); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 664 TEST_F(SyncSetupHandlerTest, TestSyncIndividualTypes) { | 664 TEST_F(SyncSetupHandlerTest, TestSyncIndividualTypes) { |
| 665 syncer::ModelTypeSet user_selectable_types = GetAllTypes(); | 665 syncer::ModelTypeSet user_selectable_types = GetAllTypes(); |
| 666 syncer::ModelTypeSet::Iterator it; | 666 syncer::ModelTypeSet::Iterator it; |
| 667 for (it = user_selectable_types.First(); it.Good(); it.Inc()) { | 667 for (it = user_selectable_types.First(); it.Good(); it.Inc()) { |
| 668 syncer::ModelTypeSet type_to_set; | 668 syncer::ModelTypeSet type_to_set; |
| 669 type_to_set.Put(it.Get()); | 669 type_to_set.Put(it.Get()); |
| 670 std::string args = | 670 std::string args = |
| 671 GetConfiguration(NULL, CHOOSE_WHAT_TO_SYNC, type_to_set, std::string(), | 671 GetConfiguration(NULL, CHOOSE_WHAT_TO_SYNC, type_to_set, std::string(), |
| 672 ENCRYPT_PASSWORDS, PAYMENTS_INTEGRATION_ENABLED); | 672 ENCRYPT_PASSWORDS, PAYMENTS_INTEGRATION_ENABLED); |
| 673 base::ListValue list_args; | 673 base::ListValue list_args; |
| 674 list_args.Append(new base::StringValue(args)); | 674 list_args.AppendString(args); |
| 675 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) | 675 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) |
| 676 .WillRepeatedly(Return(false)); | 676 .WillRepeatedly(Return(false)); |
| 677 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) | 677 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) |
| 678 .WillRepeatedly(Return(false)); | 678 .WillRepeatedly(Return(false)); |
| 679 SetupInitializedProfileSyncService(); | 679 SetupInitializedProfileSyncService(); |
| 680 EXPECT_CALL(*mock_pss_, | 680 EXPECT_CALL(*mock_pss_, |
| 681 OnUserChoseDatatypes(false, ModelTypeSetMatches(type_to_set))); | 681 OnUserChoseDatatypes(false, ModelTypeSetMatches(type_to_set))); |
| 682 handler_->HandleConfigure(&list_args); | 682 handler_->HandleConfigure(&list_args); |
| 683 | 683 |
| 684 ExpectDone(); | 684 ExpectDone(); |
| 685 Mock::VerifyAndClearExpectations(mock_pss_); | 685 Mock::VerifyAndClearExpectations(mock_pss_); |
| 686 web_ui_.ClearTrackedCalls(); | 686 web_ui_.ClearTrackedCalls(); |
| 687 } | 687 } |
| 688 } | 688 } |
| 689 | 689 |
| 690 TEST_F(SyncSetupHandlerTest, TestSyncAllManually) { | 690 TEST_F(SyncSetupHandlerTest, TestSyncAllManually) { |
| 691 std::string args = | 691 std::string args = |
| 692 GetConfiguration(NULL, CHOOSE_WHAT_TO_SYNC, GetAllTypes(), std::string(), | 692 GetConfiguration(NULL, CHOOSE_WHAT_TO_SYNC, GetAllTypes(), std::string(), |
| 693 ENCRYPT_PASSWORDS, PAYMENTS_INTEGRATION_ENABLED); | 693 ENCRYPT_PASSWORDS, PAYMENTS_INTEGRATION_ENABLED); |
| 694 base::ListValue list_args; | 694 base::ListValue list_args; |
| 695 list_args.Append(new base::StringValue(args)); | 695 list_args.AppendString(args); |
| 696 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) | 696 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) |
| 697 .WillRepeatedly(Return(false)); | 697 .WillRepeatedly(Return(false)); |
| 698 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) | 698 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) |
| 699 .WillRepeatedly(Return(false)); | 699 .WillRepeatedly(Return(false)); |
| 700 SetupInitializedProfileSyncService(); | 700 SetupInitializedProfileSyncService(); |
| 701 EXPECT_CALL(*mock_pss_, | 701 EXPECT_CALL(*mock_pss_, |
| 702 OnUserChoseDatatypes(false, ModelTypeSetMatches(GetAllTypes()))); | 702 OnUserChoseDatatypes(false, ModelTypeSetMatches(GetAllTypes()))); |
| 703 handler_->HandleConfigure(&list_args); | 703 handler_->HandleConfigure(&list_args); |
| 704 | 704 |
| 705 ExpectDone(); | 705 ExpectDone(); |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 925 ASSERT_TRUE(data.arg2()->GetAsDictionary(&dictionary)); | 925 ASSERT_TRUE(data.arg2()->GetAsDictionary(&dictionary)); |
| 926 CheckBool(dictionary, "encryptAllData", false); | 926 CheckBool(dictionary, "encryptAllData", false); |
| 927 CheckBool(dictionary, "encryptAllDataAllowed", false); | 927 CheckBool(dictionary, "encryptAllDataAllowed", false); |
| 928 } | 928 } |
| 929 | 929 |
| 930 TEST_F(SyncSetupHandlerTest, TurnOnEncryptAllDisallowed) { | 930 TEST_F(SyncSetupHandlerTest, TurnOnEncryptAllDisallowed) { |
| 931 std::string args = | 931 std::string args = |
| 932 GetConfiguration(NULL, SYNC_ALL_DATA, GetAllTypes(), std::string(), | 932 GetConfiguration(NULL, SYNC_ALL_DATA, GetAllTypes(), std::string(), |
| 933 ENCRYPT_ALL_DATA, PAYMENTS_INTEGRATION_ENABLED); | 933 ENCRYPT_ALL_DATA, PAYMENTS_INTEGRATION_ENABLED); |
| 934 base::ListValue list_args; | 934 base::ListValue list_args; |
| 935 list_args.Append(new base::StringValue(args)); | 935 list_args.AppendString(args); |
| 936 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) | 936 EXPECT_CALL(*mock_pss_, IsPassphraseRequiredForDecryption()) |
| 937 .WillRepeatedly(Return(false)); | 937 .WillRepeatedly(Return(false)); |
| 938 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) | 938 EXPECT_CALL(*mock_pss_, IsPassphraseRequired()) |
| 939 .WillRepeatedly(Return(false)); | 939 .WillRepeatedly(Return(false)); |
| 940 SetupInitializedProfileSyncService(); | 940 SetupInitializedProfileSyncService(); |
| 941 EXPECT_CALL(*mock_pss_, IsEncryptEverythingAllowed()) | 941 EXPECT_CALL(*mock_pss_, IsEncryptEverythingAllowed()) |
| 942 .WillRepeatedly(Return(false)); | 942 .WillRepeatedly(Return(false)); |
| 943 EXPECT_CALL(*mock_pss_, EnableEncryptEverything()).Times(0); | 943 EXPECT_CALL(*mock_pss_, EnableEncryptEverything()).Times(0); |
| 944 EXPECT_CALL(*mock_pss_, OnUserChoseDatatypes(true, _)); | 944 EXPECT_CALL(*mock_pss_, OnUserChoseDatatypes(true, _)); |
| 945 handler_->HandleConfigure(&list_args); | 945 handler_->HandleConfigure(&list_args); |
| 946 | 946 |
| 947 // Ensure that we navigated to the "done" state since we don't need a | 947 // Ensure that we navigated to the "done" state since we don't need a |
| 948 // passphrase. | 948 // passphrase. |
| 949 ExpectDone(); | 949 ExpectDone(); |
| 950 } | 950 } |
| OLD | NEW |