OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/prefs/pref_set_observer.h" | 5 #include "chrome/browser/prefs/pref_set_observer.h" |
6 #include "chrome/common/chrome_notification_types.h" | 6 #include "chrome/common/chrome_notification_types.h" |
7 #include "chrome/common/pref_names.h" | 7 #include "chrome/common/pref_names.h" |
8 #include "chrome/test/base/testing_pref_service.h" | 8 #include "chrome/test/base/testing_pref_service.h" |
9 #include "content/common/notification_details.h" | 9 #include "content/common/notification_details.h" |
10 #include "content/common/notification_observer_mock.h" | 10 #include "content/common/notification_observer_mock.h" |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 scoped_ptr<PrefSetObserver> pref_set(CreatePrefSetObserver(NULL)); | 43 scoped_ptr<PrefSetObserver> pref_set(CreatePrefSetObserver(NULL)); |
44 EXPECT_TRUE(pref_set->IsObserved(prefs::kHomePage)); | 44 EXPECT_TRUE(pref_set->IsObserved(prefs::kHomePage)); |
45 EXPECT_TRUE(pref_set->IsObserved(prefs::kHomePageIsNewTabPage)); | 45 EXPECT_TRUE(pref_set->IsObserved(prefs::kHomePageIsNewTabPage)); |
46 EXPECT_FALSE(pref_set->IsObserved(prefs::kApplicationLocale)); | 46 EXPECT_FALSE(pref_set->IsObserved(prefs::kApplicationLocale)); |
47 } | 47 } |
48 | 48 |
49 TEST_F(PrefSetObserverTest, IsManaged) { | 49 TEST_F(PrefSetObserverTest, IsManaged) { |
50 scoped_ptr<PrefSetObserver> pref_set(CreatePrefSetObserver(NULL)); | 50 scoped_ptr<PrefSetObserver> pref_set(CreatePrefSetObserver(NULL)); |
51 EXPECT_FALSE(pref_set->IsManaged()); | 51 EXPECT_FALSE(pref_set->IsManaged()); |
52 pref_service_->SetManagedPref(prefs::kHomePage, | 52 pref_service_->SetManagedPref(prefs::kHomePage, |
53 Value::CreateStringValue("http://crbug.com")); | 53 base::StringValue::New("http://crbug.com")); |
54 EXPECT_TRUE(pref_set->IsManaged()); | 54 EXPECT_TRUE(pref_set->IsManaged()); |
55 pref_service_->SetManagedPref(prefs::kHomePageIsNewTabPage, | 55 pref_service_->SetManagedPref(prefs::kHomePageIsNewTabPage, |
56 Value::CreateBooleanValue(true)); | 56 base::TrueValue()); |
57 EXPECT_TRUE(pref_set->IsManaged()); | 57 EXPECT_TRUE(pref_set->IsManaged()); |
58 pref_service_->RemoveManagedPref(prefs::kHomePage); | 58 pref_service_->RemoveManagedPref(prefs::kHomePage); |
59 EXPECT_TRUE(pref_set->IsManaged()); | 59 EXPECT_TRUE(pref_set->IsManaged()); |
60 pref_service_->RemoveManagedPref(prefs::kHomePageIsNewTabPage); | 60 pref_service_->RemoveManagedPref(prefs::kHomePageIsNewTabPage); |
61 EXPECT_FALSE(pref_set->IsManaged()); | 61 EXPECT_FALSE(pref_set->IsManaged()); |
62 } | 62 } |
63 | 63 |
64 MATCHER_P(PrefNameDetails, name, "details references named preference") { | 64 MATCHER_P(PrefNameDetails, name, "details references named preference") { |
65 std::string* pstr = reinterpret_cast<const Details<std::string>&>(arg).ptr(); | 65 std::string* pstr = reinterpret_cast<const Details<std::string>&>(arg).ptr(); |
66 return pstr && *pstr == name; | 66 return pstr && *pstr == name; |
67 } | 67 } |
68 | 68 |
69 TEST_F(PrefSetObserverTest, Observe) { | 69 TEST_F(PrefSetObserverTest, Observe) { |
70 using testing::_; | 70 using testing::_; |
71 using testing::Mock; | 71 using testing::Mock; |
72 | 72 |
73 NotificationObserverMock observer; | 73 NotificationObserverMock observer; |
74 scoped_ptr<PrefSetObserver> pref_set(CreatePrefSetObserver(&observer)); | 74 scoped_ptr<PrefSetObserver> pref_set(CreatePrefSetObserver(&observer)); |
75 | 75 |
76 EXPECT_CALL(observer, | 76 EXPECT_CALL(observer, |
77 Observe(int(chrome::NOTIFICATION_PREF_CHANGED), | 77 Observe(int(chrome::NOTIFICATION_PREF_CHANGED), |
78 Source<PrefService>(pref_service_.get()), | 78 Source<PrefService>(pref_service_.get()), |
79 PrefNameDetails(prefs::kHomePage))); | 79 PrefNameDetails(prefs::kHomePage))); |
80 pref_service_->SetUserPref(prefs::kHomePage, | 80 pref_service_->SetUserPref(prefs::kHomePage, |
81 Value::CreateStringValue("http://crbug.com")); | 81 base::StringValue::New("http://crbug.com")); |
82 Mock::VerifyAndClearExpectations(&observer); | 82 Mock::VerifyAndClearExpectations(&observer); |
83 | 83 |
84 EXPECT_CALL(observer, | 84 EXPECT_CALL(observer, |
85 Observe(int(chrome::NOTIFICATION_PREF_CHANGED), | 85 Observe(int(chrome::NOTIFICATION_PREF_CHANGED), |
86 Source<PrefService>(pref_service_.get()), | 86 Source<PrefService>(pref_service_.get()), |
87 PrefNameDetails(prefs::kHomePageIsNewTabPage))); | 87 PrefNameDetails(prefs::kHomePageIsNewTabPage))); |
88 pref_service_->SetUserPref(prefs::kHomePageIsNewTabPage, | 88 pref_service_->SetUserPref(prefs::kHomePageIsNewTabPage, base::TrueValue()); |
89 Value::CreateBooleanValue(true)); | |
90 Mock::VerifyAndClearExpectations(&observer); | 89 Mock::VerifyAndClearExpectations(&observer); |
91 | 90 |
92 EXPECT_CALL(observer, Observe(_, _, _)).Times(0); | 91 EXPECT_CALL(observer, Observe(_, _, _)).Times(0); |
93 pref_service_->SetUserPref(prefs::kApplicationLocale, | 92 pref_service_->SetUserPref(prefs::kApplicationLocale, |
94 Value::CreateStringValue("en_US.utf8")); | 93 base::StringValue::New("en_US.utf8")); |
95 Mock::VerifyAndClearExpectations(&observer); | 94 Mock::VerifyAndClearExpectations(&observer); |
96 } | 95 } |
OLD | NEW |