Chromium Code Reviews| Index: chrome/browser/password_manager/auto_signin_infobar_delegate_unittest.cc |
| diff --git a/chrome/browser/password_manager/auto_signin_infobar_delegate_unittest.cc b/chrome/browser/password_manager/auto_signin_infobar_delegate_unittest.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..9f63335e74ef77e1fb985bb852791610ebcf6e6a |
| --- /dev/null |
| +++ b/chrome/browser/password_manager/auto_signin_infobar_delegate_unittest.cc |
| @@ -0,0 +1,90 @@ |
| +// Copyright 2015 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 "base/prefs/pref_service.h" |
| +#include "chrome/browser/password_manager/auto_signin_first_run_infobar_delegate.h" |
| +#include "chrome/browser/profiles/profile.h" |
| +#include "chrome/test/base/chrome_render_view_host_test_harness.h" |
| +#include "components/password_manager/core/common/password_manager_pref_names.h" |
| +#include "content/public/browser/web_contents.h" |
| +#include "testing/gmock/include/gmock/gmock.h" |
| +#include "testing/gtest/include/gtest/gtest.h" |
| + |
| +namespace { |
| + |
| +class TestAutoSigninFirstRunInfobarDelegate |
| + : public AutoSigninFirstRunInfobarDelegate { |
| + public: |
| + explicit TestAutoSigninFirstRunInfobarDelegate( |
| + content::WebContents* web_contents) |
| + : AutoSigninFirstRunInfobarDelegate( |
| + web_contents, |
| + true /* is_smartlock_branding_enabled */, |
| + base::string16()) {} |
| + |
| + ~TestAutoSigninFirstRunInfobarDelegate() override {} |
| +}; |
| + |
| +} // namespace |
| + |
| +class AutoSigninFirstRunInfobarDelegateTest |
| + : public ChromeRenderViewHostTestHarness { |
| + public: |
| + AutoSigninFirstRunInfobarDelegateTest() {} |
| + ~AutoSigninFirstRunInfobarDelegateTest() override {} |
| + |
| + void SetUp() override; |
| + void TearDown() override; |
| + |
| + PrefService* prefs(); |
| + |
| + protected: |
| + scoped_ptr<ConfirmInfoBarDelegate> CreateDelegate(); |
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(AutoSigninFirstRunInfobarDelegateTest); |
| +}; |
| + |
| +scoped_ptr<ConfirmInfoBarDelegate> |
| +AutoSigninFirstRunInfobarDelegateTest::CreateDelegate() { |
| + scoped_ptr<ConfirmInfoBarDelegate> delegate( |
| + new TestAutoSigninFirstRunInfobarDelegate(web_contents())); |
| + return delegate.Pass(); |
| +} |
| + |
| +void AutoSigninFirstRunInfobarDelegateTest::SetUp() { |
|
vabr (Chromium)
2015/11/03 15:28:57
You don't have to define your own SetUp and TearDo
melandory
2015/11/03 16:32:35
Done.
|
| + ChromeRenderViewHostTestHarness::SetUp(); |
| +} |
| + |
| +void AutoSigninFirstRunInfobarDelegateTest::TearDown() { |
| + ChromeRenderViewHostTestHarness::TearDown(); |
| +} |
| + |
| +PrefService* AutoSigninFirstRunInfobarDelegateTest::prefs() { |
| + Profile* profile = |
| + Profile::FromBrowserContext(web_contents()->GetBrowserContext()); |
| + return profile->GetPrefs(); |
| +} |
| + |
| +TEST_F(AutoSigninFirstRunInfobarDelegateTest, |
| + CheckResetOfPrefAfterFirstRunMessageWasShownOnCancel) { |
| + prefs()->SetBoolean( |
| + password_manager::prefs::kWasAutoSignInFirstRunExperienceShown, false); |
| + scoped_ptr<ConfirmInfoBarDelegate> infobar(CreateDelegate()); |
| + EXPECT_TRUE(infobar->Cancel()); |
| + infobar.reset(); |
| + EXPECT_TRUE(prefs()->GetBoolean( |
| + password_manager::prefs::kWasAutoSignInFirstRunExperienceShown)); |
| +} |
| + |
| +TEST_F(AutoSigninFirstRunInfobarDelegateTest, |
| + CheckResetOfPrefAfterFirstRunMessageWasShownOnAccept) { |
| + prefs()->SetBoolean( |
| + password_manager::prefs::kWasAutoSignInFirstRunExperienceShown, false); |
| + scoped_ptr<ConfirmInfoBarDelegate> infobar(CreateDelegate()); |
| + EXPECT_TRUE(infobar->Accept()); |
| + infobar.reset(); |
| + EXPECT_TRUE(prefs()->GetBoolean( |
| + password_manager::prefs::kWasAutoSignInFirstRunExperienceShown)); |
| +} |