OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/sync/sync_promo_ui.h" | 5 #include "chrome/browser/ui/sync/sync_promo_ui.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
11 #include "chrome/browser/signin/fake_signin_manager.h" | 11 #include "chrome/browser/signin/fake_signin_manager.h" |
12 #include "chrome/browser/signin/signin_manager_factory.h" | 12 #include "chrome/browser/signin/signin_manager_factory.h" |
13 #include "chrome/common/chrome_switches.h" | 13 #include "chrome/common/chrome_switches.h" |
14 #include "chrome/test/base/testing_profile.h" | 14 #include "chrome/test/base/testing_profile.h" |
| 15 #include "content/public/test/test_browser_thread_bundle.h" |
15 #include "testing/gtest/include/gtest/gtest.h" | 16 #include "testing/gtest/include/gtest/gtest.h" |
16 | 17 |
17 class SyncPromoUITest : public testing::Test { | 18 class SyncPromoUITest : public testing::Test { |
18 public: | 19 public: |
19 SyncPromoUITest() {} | 20 SyncPromoUITest() {} |
20 | 21 |
21 // testing::Test: | 22 // testing::Test: |
22 void SetUp() override { | 23 void SetUp() override { |
23 testing::Test::SetUp(); | 24 testing::Test::SetUp(); |
24 TestingProfile::Builder builder; | 25 TestingProfile::Builder builder; |
25 builder.AddTestingFactory(SigninManagerFactory::GetInstance(), | 26 builder.AddTestingFactory(SigninManagerFactory::GetInstance(), |
26 FakeSigninManagerBase::Build); | 27 FakeSigninManagerBase::Build); |
27 profile_ = builder.Build(); | 28 profile_ = builder.Build(); |
28 } | 29 } |
29 | 30 |
30 protected: | 31 protected: |
31 void DisableSync() { | 32 void DisableSync() { |
32 base::CommandLine::ForCurrentProcess()->AppendSwitch( | 33 base::CommandLine::ForCurrentProcess()->AppendSwitch( |
33 switches::kDisableSync); | 34 switches::kDisableSync); |
34 } | 35 } |
35 | 36 |
| 37 content::TestBrowserThreadBundle thread_bundle_; |
36 scoped_ptr<TestingProfile> profile_; | 38 scoped_ptr<TestingProfile> profile_; |
37 | 39 |
38 private: | 40 private: |
39 DISALLOW_COPY_AND_ASSIGN(SyncPromoUITest); | 41 DISALLOW_COPY_AND_ASSIGN(SyncPromoUITest); |
40 }; | 42 }; |
41 | 43 |
42 // Verifies that ShouldShowSyncPromo returns false if sync is disabled by | 44 // Verifies that ShouldShowSyncPromo returns false if sync is disabled by |
43 // policy. | 45 // policy. |
44 TEST_F(SyncPromoUITest, ShouldShowSyncPromoSyncDisabled) { | 46 TEST_F(SyncPromoUITest, ShouldShowSyncPromoSyncDisabled) { |
45 DisableSync(); | 47 DisableSync(); |
46 EXPECT_FALSE(SyncPromoUI::ShouldShowSyncPromo(profile_.get())); | 48 EXPECT_FALSE(SyncPromoUI::ShouldShowSyncPromo(profile_.get())); |
47 } | 49 } |
48 | 50 |
49 // Verifies that ShouldShowSyncPromo returns true if all conditions to | 51 // Verifies that ShouldShowSyncPromo returns true if all conditions to |
50 // show the promo are met. | 52 // show the promo are met. |
51 TEST_F(SyncPromoUITest, ShouldShowSyncPromoSyncEnabled) { | 53 TEST_F(SyncPromoUITest, ShouldShowSyncPromoSyncEnabled) { |
52 #if defined(OS_CHROMEOS) | 54 #if defined(OS_CHROMEOS) |
53 // No sync promo on CrOS. | 55 // No sync promo on CrOS. |
54 EXPECT_FALSE(SyncPromoUI::ShouldShowSyncPromo(profile_.get())); | 56 EXPECT_FALSE(SyncPromoUI::ShouldShowSyncPromo(profile_.get())); |
55 #else | 57 #else |
56 EXPECT_TRUE(SyncPromoUI::ShouldShowSyncPromo(profile_.get())); | 58 EXPECT_TRUE(SyncPromoUI::ShouldShowSyncPromo(profile_.get())); |
57 #endif | 59 #endif |
58 } | 60 } |
OLD | NEW |