| Index: ios/chrome/browser/ui/settings/passphrase_collection_view_controller_test.mm
|
| diff --git a/ios/chrome/browser/ui/settings/passphrase_collection_view_controller_test.mm b/ios/chrome/browser/ui/settings/passphrase_collection_view_controller_test.mm
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2207641ca47395b806f2247e8873b109e7f225fb
|
| --- /dev/null
|
| +++ b/ios/chrome/browser/ui/settings/passphrase_collection_view_controller_test.mm
|
| @@ -0,0 +1,109 @@
|
| +// Copyright 2013 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "ios/chrome/browser/ui/settings/passphrase_collection_view_controller_test.h"
|
| +
|
| +#import <UIKit/UIKit.h>
|
| +
|
| +#include <memory>
|
| +
|
| +#include "base/memory/ptr_util.h"
|
| +#include "base/message_loop/message_loop.h"
|
| +#include "base/strings/sys_string_conversions.h"
|
| +#include "components/browser_sync/profile_sync_service_mock.h"
|
| +#include "components/pref_registry/pref_registry_syncable.h"
|
| +#include "components/sync_preferences/pref_service_mock_factory.h"
|
| +#include "components/sync_preferences/pref_service_syncable.h"
|
| +#include "ios/chrome/browser/browser_state/chrome_browser_state.h"
|
| +#include "ios/chrome/browser/browser_state/test_chrome_browser_state.h"
|
| +#include "ios/chrome/browser/prefs/browser_prefs.h"
|
| +#include "ios/chrome/browser/signin/authentication_service_factory.h"
|
| +#import "ios/chrome/browser/signin/authentication_service_fake.h"
|
| +#include "ios/chrome/browser/sync/ios_chrome_profile_sync_service_factory.h"
|
| +#include "ios/chrome/browser/sync/ios_chrome_profile_sync_test_util.h"
|
| +#include "ios/chrome/browser/sync/sync_setup_service.h"
|
| +#include "ios/chrome/browser/sync/sync_setup_service_factory.h"
|
| +#import "ios/chrome/browser/ui/settings/settings_navigation_controller.h"
|
| +#include "ios/public/provider/chrome/browser/signin/fake_chrome_identity_service.h"
|
| +#include "testing/gtest_mac.h"
|
| +#include "testing/platform_test.h"
|
| +
|
| +using testing::DefaultValue;
|
| +using testing::NiceMock;
|
| +using testing::Return;
|
| +
|
| +std::unique_ptr<sync_preferences::PrefServiceSyncable> CreatePrefService() {
|
| + sync_preferences::PrefServiceMockFactory factory;
|
| + scoped_refptr<user_prefs::PrefRegistrySyncable> registry(
|
| + new user_prefs::PrefRegistrySyncable);
|
| + std::unique_ptr<sync_preferences::PrefServiceSyncable> prefs =
|
| + factory.CreateSyncable(registry.get());
|
| + RegisterBrowserStatePrefs(registry.get());
|
| + return prefs;
|
| +}
|
| +
|
| +std::unique_ptr<KeyedService>
|
| +PassphraseCollectionViewControllerTest::CreateNiceProfileSyncServiceMock(
|
| + web::BrowserState* context) {
|
| + browser_sync::ProfileSyncService::InitParams init_params =
|
| + CreateProfileSyncServiceParamsForTest(
|
| + nullptr, ios::ChromeBrowserState::FromBrowserState(context));
|
| + return base::MakeUnique<NiceMock<browser_sync::ProfileSyncServiceMock>>(
|
| + &init_params);
|
| +}
|
| +
|
| +PassphraseCollectionViewControllerTest::PassphraseCollectionViewControllerTest()
|
| + : CollectionViewControllerTest(),
|
| + fake_sync_service_(NULL),
|
| + default_auth_error_(GoogleServiceAuthError::NONE) {}
|
| +
|
| +PassphraseCollectionViewControllerTest::
|
| + ~PassphraseCollectionViewControllerTest() {}
|
| +
|
| +void PassphraseCollectionViewControllerTest::SetUp() {
|
| + CollectionViewControllerTest::SetUp();
|
| +
|
| + // Set up the default return values for non-trivial return types.
|
| + DefaultValue<const GoogleServiceAuthError&>::Set(default_auth_error_);
|
| + DefaultValue<syncer::SyncCycleSnapshot>::Set(default_sync_cycle_snapshot_);
|
| +
|
| + TestChromeBrowserState::Builder test_cbs_builder;
|
| + test_cbs_builder.AddTestingFactory(
|
| + AuthenticationServiceFactory::GetInstance(),
|
| + AuthenticationServiceFake::CreateAuthenticationService);
|
| + test_cbs_builder.SetPrefService(CreatePrefService());
|
| + chrome_browser_state_ = test_cbs_builder.Build();
|
| +
|
| + fake_sync_service_ = static_cast<browser_sync::ProfileSyncServiceMock*>(
|
| + IOSChromeProfileSyncServiceFactory::GetInstance()
|
| + ->SetTestingFactoryAndUse(chrome_browser_state_.get(),
|
| + CreateNiceProfileSyncServiceMock));
|
| + ON_CALL(*fake_sync_service_, GetRegisteredDataTypes())
|
| + .WillByDefault(Return(syncer::ModelTypeSet()));
|
| + fake_sync_service_->Initialize();
|
| +
|
| + // Set up non-default return values for our sync service mock.
|
| + ON_CALL(*fake_sync_service_, IsPassphraseRequired())
|
| + .WillByDefault(Return(true));
|
| + ON_CALL(*fake_sync_service_, IsEngineInitialized())
|
| + .WillByDefault(Return(true));
|
| +
|
| + ios::FakeChromeIdentityService* identityService =
|
| + ios::FakeChromeIdentityService::GetInstanceFromChromeProvider();
|
| + identityService->AddIdentities(@[ @"identity1" ]);
|
| + ChromeIdentity* identity =
|
| + [identityService->GetAllIdentitiesSortedForDisplay() objectAtIndex:0];
|
| + AuthenticationServiceFactory::GetForBrowserState(chrome_browser_state_.get())
|
| + ->SignIn(identity, "");
|
| +}
|
| +
|
| +void PassphraseCollectionViewControllerTest::SetUpNavigationController(
|
| + UIViewController* test_controller) {
|
| + dummy_controller_.reset([[UIViewController alloc] init]);
|
| + nav_controller_.reset([[SettingsNavigationController alloc]
|
| + initWithRootViewController:dummy_controller_
|
| + browserState:chrome_browser_state_.get()
|
| + delegate:nil]);
|
| + [nav_controller_ pushViewController:test_controller animated:NO];
|
| +}
|
|
|