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

Side by Side Diff: base/prefs/public/pref_change_registrar_unittest.cc

Issue 11519026: base: Do not use Value::Create* functions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: scoped_ptr Created 8 years 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 | Annotate | Revision Log
« no previous file with comments | « base/prefs/pref_value_map_unittest.cc ('k') | base/prefs/testing_pref_store.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/bind_helpers.h" 6 #include "base/bind_helpers.h"
7 #include "base/prefs/public/pref_change_registrar.h" 7 #include "base/prefs/public/pref_change_registrar.h"
8 #include "base/prefs/public/pref_observer.h" 8 #include "base/prefs/public/pref_observer.h"
9 #include "chrome/test/base/testing_pref_service.h" 9 #include "chrome/test/base/testing_pref_service.h"
10 #include "testing/gmock/include/gmock/gmock.h" 10 #include "testing/gmock/include/gmock/gmock.h"
11 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
12 12
13 using testing::Mock; 13 using testing::Mock;
14 using testing::Eq; 14 using testing::Eq;
15 15
16 namespace base {
16 namespace { 17 namespace {
17 18
18 const char kHomePage[] = "homepage"; 19 const char kHomePage[] = "homepage";
19 const char kHomePageIsNewTabPage[] = "homepage_is_newtabpage"; 20 const char kHomePageIsNewTabPage[] = "homepage_is_newtabpage";
20 const char kApplicationLocale[] = "intl.app_locale"; 21 const char kApplicationLocale[] = "intl.app_locale";
21 22
22 // A mock provider that allows us to capture pref observer changes. 23 // A mock provider that allows us to capture pref observer changes.
23 class MockPrefService : public TestingPrefService { 24 class MockPrefService : public TestingPrefService {
24 public: 25 public:
25 MockPrefService() {} 26 MockPrefService() {}
26 virtual ~MockPrefService() {} 27 virtual ~MockPrefService() {}
27 28
28 MOCK_METHOD2(AddPrefObserver, 29 MOCK_METHOD2(AddPrefObserver,
29 void(const char*, PrefObserver*)); 30 void(const char*, PrefObserver*));
30 MOCK_METHOD2(RemovePrefObserver, 31 MOCK_METHOD2(RemovePrefObserver,
31 void(const char*, PrefObserver*)); 32 void(const char*, PrefObserver*));
32 }; 33 };
33 34
34 } // namespace 35 } // namespace
35 36
36 class PrefChangeRegistrarTest : public testing::Test { 37 class PrefChangeRegistrarTest : public testing::Test {
37 public: 38 public:
38 PrefChangeRegistrarTest() {} 39 PrefChangeRegistrarTest() {}
39 virtual ~PrefChangeRegistrarTest() {} 40 virtual ~PrefChangeRegistrarTest() {}
40 41
41 protected: 42 protected:
42 virtual void SetUp(); 43 virtual void SetUp() OVERRIDE;
43 44
44 base::Closure observer() const { 45 base::Closure observer() const {
45 return base::Bind(&base::DoNothing); 46 return base::Bind(&base::DoNothing);
46 } 47 }
47 48
48 MockPrefService* service() const { return service_.get(); } 49 MockPrefService* service() const { return service_.get(); }
49 50
50 private: 51 private:
51 scoped_ptr<MockPrefService> service_; 52 scoped_ptr<MockPrefService> service_;
52 }; 53 };
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 scoped_ptr<PrefChangeRegistrar> pref_set(CreatePrefChangeRegistrar()); 157 scoped_ptr<PrefChangeRegistrar> pref_set(CreatePrefChangeRegistrar());
157 EXPECT_TRUE(pref_set->IsObserved(kHomePage)); 158 EXPECT_TRUE(pref_set->IsObserved(kHomePage));
158 EXPECT_TRUE(pref_set->IsObserved(kHomePageIsNewTabPage)); 159 EXPECT_TRUE(pref_set->IsObserved(kHomePageIsNewTabPage));
159 EXPECT_FALSE(pref_set->IsObserved(kApplicationLocale)); 160 EXPECT_FALSE(pref_set->IsObserved(kApplicationLocale));
160 } 161 }
161 162
162 TEST_F(ObserveSetOfPreferencesTest, IsManaged) { 163 TEST_F(ObserveSetOfPreferencesTest, IsManaged) {
163 scoped_ptr<PrefChangeRegistrar> pref_set(CreatePrefChangeRegistrar()); 164 scoped_ptr<PrefChangeRegistrar> pref_set(CreatePrefChangeRegistrar());
164 EXPECT_FALSE(pref_set->IsManaged()); 165 EXPECT_FALSE(pref_set->IsManaged());
165 pref_service_->SetManagedPref(kHomePage, 166 pref_service_->SetManagedPref(kHomePage,
166 Value::CreateStringValue("http://crbug.com")); 167 new StringValue("http://crbug.com"));
167 EXPECT_TRUE(pref_set->IsManaged()); 168 EXPECT_TRUE(pref_set->IsManaged());
168 pref_service_->SetManagedPref(kHomePageIsNewTabPage, 169 pref_service_->SetManagedPref(kHomePageIsNewTabPage,
169 Value::CreateBooleanValue(true)); 170 new FundamentalValue(true));
170 EXPECT_TRUE(pref_set->IsManaged()); 171 EXPECT_TRUE(pref_set->IsManaged());
171 pref_service_->RemoveManagedPref(kHomePage); 172 pref_service_->RemoveManagedPref(kHomePage);
172 EXPECT_TRUE(pref_set->IsManaged()); 173 EXPECT_TRUE(pref_set->IsManaged());
173 pref_service_->RemoveManagedPref(kHomePageIsNewTabPage); 174 pref_service_->RemoveManagedPref(kHomePageIsNewTabPage);
174 EXPECT_FALSE(pref_set->IsManaged()); 175 EXPECT_FALSE(pref_set->IsManaged());
175 } 176 }
176 177
177 TEST_F(ObserveSetOfPreferencesTest, Observe) { 178 TEST_F(ObserveSetOfPreferencesTest, Observe) {
178 using testing::_; 179 using testing::_;
179 using testing::Mock; 180 using testing::Mock;
180 181
181 PrefChangeRegistrar pref_set; 182 PrefChangeRegistrar pref_set;
182 PrefChangeRegistrar::NamedChangeCallback callback = base::Bind( 183 PrefChangeRegistrar::NamedChangeCallback callback = base::Bind(
183 &ObserveSetOfPreferencesTest::OnPreferenceChanged, 184 &ObserveSetOfPreferencesTest::OnPreferenceChanged,
184 base::Unretained(this)); 185 base::Unretained(this));
185 pref_set.Init(pref_service_.get()); 186 pref_set.Init(pref_service_.get());
186 pref_set.Add(kHomePage, callback); 187 pref_set.Add(kHomePage, callback);
187 pref_set.Add(kHomePageIsNewTabPage, callback); 188 pref_set.Add(kHomePageIsNewTabPage, callback);
188 189
189 EXPECT_CALL(*this, OnPreferenceChanged(kHomePage)); 190 EXPECT_CALL(*this, OnPreferenceChanged(kHomePage));
190 pref_service_->SetUserPref(kHomePage, 191 pref_service_->SetUserPref(kHomePage, new StringValue("http://crbug.com"));
191 Value::CreateStringValue("http://crbug.com"));
192 Mock::VerifyAndClearExpectations(this); 192 Mock::VerifyAndClearExpectations(this);
193 193
194 EXPECT_CALL(*this, OnPreferenceChanged(kHomePageIsNewTabPage)); 194 EXPECT_CALL(*this, OnPreferenceChanged(kHomePageIsNewTabPage));
195 pref_service_->SetUserPref(kHomePageIsNewTabPage, 195 pref_service_->SetUserPref(kHomePageIsNewTabPage,
196 Value::CreateBooleanValue(true)); 196 new FundamentalValue(true));
197 Mock::VerifyAndClearExpectations(this); 197 Mock::VerifyAndClearExpectations(this);
198 198
199 EXPECT_CALL(*this, OnPreferenceChanged(_)).Times(0); 199 EXPECT_CALL(*this, OnPreferenceChanged(_)).Times(0);
200 pref_service_->SetUserPref(kApplicationLocale, 200 pref_service_->SetUserPref(kApplicationLocale, new StringValue("en_US.utf8"));
201 Value::CreateStringValue("en_US.utf8"));
202 Mock::VerifyAndClearExpectations(this); 201 Mock::VerifyAndClearExpectations(this);
203 } 202 }
203
204 } // namespace base
OLDNEW
« no previous file with comments | « base/prefs/pref_value_map_unittest.cc ('k') | base/prefs/testing_pref_store.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698