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

Side by Side Diff: chrome/browser/managed_prefs_banner_base_unittest.cc

Issue 3051001: Adjust preference sync code to only sync user modifiable preferences. (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: separate out the download_manager_unittest.cc fixes Created 10 years, 5 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/dummy_pref_store.h" 5 #include "chrome/browser/dummy_pref_store.h"
6 #include "chrome/browser/managed_prefs_banner_base.h" 6 #include "chrome/browser/managed_prefs_banner_base.h"
7 #include "chrome/browser/pref_service.h"
8 #include "chrome/common/pref_names.h" 7 #include "chrome/common/pref_names.h"
8 #include "chrome/test/testing_pref_service.h"
9 #include "testing/gmock/include/gmock/gmock.h" 9 #include "testing/gmock/include/gmock/gmock.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 11
12 namespace { 12 namespace {
13 13
14 const wchar_t* kDummyPref = L"dummy"; 14 const wchar_t* kDummyPref = L"dummy";
15 15
16 } // namespace 16 } // namespace
17 17
18 // Tests whether managed preferences banner base functionality correctly 18 // Tests whether managed preferences banner base functionality correctly
19 // determines banner visiblity. 19 // determines banner visiblity.
20 class ManagedPrefsBannerBaseTest : public testing::Test { 20 class ManagedPrefsBannerBaseTest : public testing::Test {
21 public: 21 public:
22 virtual void SetUp() { 22 virtual void SetUp() {
23 managed_prefs_ = new DummyPrefStore; 23 pref_service_.reset(new TestingPrefService);
24 extension_prefs_ = new DummyPrefStore;
25 command_line_prefs_ = new DummyPrefStore;
26 user_prefs_ = new DummyPrefStore;
27 default_prefs_ = new DummyPrefStore;
28 pref_service_.reset(new PrefService(new PrefValueStore(managed_prefs_,
29 extension_prefs_,
30 command_line_prefs_,
31 user_prefs_,
32 default_prefs_)));
33 pref_service_->RegisterStringPref(prefs::kHomePage, "http://google.com"); 24 pref_service_->RegisterStringPref(prefs::kHomePage, "http://google.com");
34 pref_service_->RegisterBooleanPref(prefs::kHomePageIsNewTabPage, false); 25 pref_service_->RegisterBooleanPref(prefs::kHomePageIsNewTabPage, false);
35 pref_service_->RegisterBooleanPref(kDummyPref, false); 26 pref_service_->RegisterBooleanPref(kDummyPref, false);
36 } 27 }
37 28
38 scoped_ptr<PrefService> pref_service_; 29 scoped_ptr<TestingPrefService> pref_service_;
39 DummyPrefStore* managed_prefs_;
40 DummyPrefStore* extension_prefs_;
41 DummyPrefStore* command_line_prefs_;
42 DummyPrefStore* user_prefs_;
43 DummyPrefStore* default_prefs_;
44 }; 30 };
45 31
46 TEST_F(ManagedPrefsBannerBaseTest, VisibilityTest) { 32 TEST_F(ManagedPrefsBannerBaseTest, VisibilityTest) {
47 ManagedPrefsBannerBase banner(pref_service_.get(), OPTIONS_PAGE_GENERAL); 33 ManagedPrefsBannerBase banner(pref_service_.get(), OPTIONS_PAGE_GENERAL);
48 EXPECT_FALSE(banner.DetermineVisibility()); 34 EXPECT_FALSE(banner.DetermineVisibility());
49 managed_prefs_->prefs()->SetBoolean(kDummyPref, true); 35 pref_service_->SetManagedPref(kDummyPref, Value::CreateBooleanValue(true));
50 EXPECT_FALSE(banner.DetermineVisibility()); 36 EXPECT_FALSE(banner.DetermineVisibility());
51 user_prefs_->prefs()->SetString(prefs::kHomePage, "http://foo.com"); 37 pref_service_->SetUserPref(prefs::kHomePage,
38 Value::CreateStringValue("http://foo.com"));
52 EXPECT_FALSE(banner.DetermineVisibility()); 39 EXPECT_FALSE(banner.DetermineVisibility());
53 managed_prefs_->prefs()->SetString(prefs::kHomePage, "http://bar.com"); 40 pref_service_->SetManagedPref(prefs::kHomePage,
41 Value::CreateStringValue("http://bar.com"));
54 EXPECT_TRUE(banner.DetermineVisibility()); 42 EXPECT_TRUE(banner.DetermineVisibility());
55 } 43 }
56 44
57 // Mock class that allows to capture the notification callback. 45 // Mock class that allows to capture the notification callback.
58 class ManagedPrefsBannerBaseMock : public ManagedPrefsBannerBase { 46 class ManagedPrefsBannerBaseMock : public ManagedPrefsBannerBase {
59 public: 47 public:
60 ManagedPrefsBannerBaseMock(PrefService* pref_service, OptionsPage page) 48 ManagedPrefsBannerBaseMock(PrefService* pref_service, OptionsPage page)
61 : ManagedPrefsBannerBase(pref_service, page) { } 49 : ManagedPrefsBannerBase(pref_service, page) { }
62 50
63 MOCK_METHOD0(OnUpdateVisibility, void()); 51 MOCK_METHOD0(OnUpdateVisibility, void());
64 }; 52 };
65 53
66 TEST_F(ManagedPrefsBannerBaseTest, NotificationTest) { 54 TEST_F(ManagedPrefsBannerBaseTest, NotificationTest) {
67 ManagedPrefsBannerBaseMock banner(pref_service_.get(), OPTIONS_PAGE_GENERAL); 55 ManagedPrefsBannerBaseMock banner(pref_service_.get(), OPTIONS_PAGE_GENERAL);
68 EXPECT_CALL(banner, OnUpdateVisibility()).Times(0); 56 EXPECT_CALL(banner, OnUpdateVisibility()).Times(0);
69 pref_service_->SetBoolean(kDummyPref, true); 57 pref_service_->SetBoolean(kDummyPref, true);
70 EXPECT_CALL(banner, OnUpdateVisibility()).Times(1); 58 EXPECT_CALL(banner, OnUpdateVisibility()).Times(1);
71 pref_service_->SetString(prefs::kHomePage, "http://foo.com"); 59 pref_service_->SetString(prefs::kHomePage, "http://foo.com");
72 } 60 }
OLDNEW
« no previous file with comments | « chrome/browser/dom_ui/shown_sections_handler_unittest.cc ('k') | chrome/browser/pref_member_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698