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

Side by Side Diff: chrome/browser/prefs/scoped_user_pref_update_unittest.cc

Issue 11345008: Remove content::NotificationObserver dependency from most Prefs code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge to head for commit Created 8 years, 1 month 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
OLDNEW
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 "base/prefs/public/pref_change_registrar.h" 5 #include "base/prefs/public/pref_change_registrar.h"
6 #include "chrome/browser/prefs/pref_observer_mock.h" 6 #include "chrome/browser/prefs/pref_observer_mock.h"
7 #include "chrome/browser/prefs/scoped_user_pref_update.h" 7 #include "chrome/browser/prefs/scoped_user_pref_update.h"
8 #include "chrome/test/base/testing_pref_service.h" 8 #include "chrome/test/base/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"
(...skipping 24 matching lines...) Expand all
35 const char ScopedUserPrefUpdateTest::kPref[] = "name"; 35 const char ScopedUserPrefUpdateTest::kPref[] = "name";
36 const char ScopedUserPrefUpdateTest::kKey[] = "key"; 36 const char ScopedUserPrefUpdateTest::kKey[] = "key";
37 const char ScopedUserPrefUpdateTest::kValue[] = "value"; 37 const char ScopedUserPrefUpdateTest::kValue[] = "value";
38 38
39 TEST_F(ScopedUserPrefUpdateTest, RegularUse) { 39 TEST_F(ScopedUserPrefUpdateTest, RegularUse) {
40 // Dictionary that will be expected to be set at the end. 40 // Dictionary that will be expected to be set at the end.
41 DictionaryValue expected_dictionary; 41 DictionaryValue expected_dictionary;
42 expected_dictionary.SetString(kKey, kValue); 42 expected_dictionary.SetString(kKey, kValue);
43 43
44 { 44 {
45 EXPECT_CALL(observer_, Observe(_, _, _)).Times(0); 45 EXPECT_CALL(observer_, OnPreferenceChanged(_, _)).Times(0);
46 DictionaryPrefUpdate update(&prefs_, kPref); 46 DictionaryPrefUpdate update(&prefs_, kPref);
47 DictionaryValue* value = update.Get(); 47 DictionaryValue* value = update.Get();
48 ASSERT_TRUE(value); 48 ASSERT_TRUE(value);
49 value->SetString(kKey, kValue); 49 value->SetString(kKey, kValue);
50 50
51 // The dictionary was created for us but the creation should have happened 51 // The dictionary was created for us but the creation should have happened
52 // silently without notifications. 52 // silently without notifications.
53 Mock::VerifyAndClearExpectations(&observer_); 53 Mock::VerifyAndClearExpectations(&observer_);
54 54
55 // Modifications happen online and are instantly visible, though. 55 // Modifications happen online and are instantly visible, though.
56 const DictionaryValue* current_value = prefs_.GetDictionary(kPref); 56 const DictionaryValue* current_value = prefs_.GetDictionary(kPref);
57 ASSERT_TRUE(current_value); 57 ASSERT_TRUE(current_value);
58 EXPECT_TRUE(expected_dictionary.Equals(current_value)); 58 EXPECT_TRUE(expected_dictionary.Equals(current_value));
59 59
60 // Now we are leaving the scope of the update so we should be notified. 60 // Now we are leaving the scope of the update so we should be notified.
61 observer_.Expect(&prefs_, kPref, &expected_dictionary); 61 observer_.Expect(&prefs_, kPref, &expected_dictionary);
62 } 62 }
63 Mock::VerifyAndClearExpectations(&observer_); 63 Mock::VerifyAndClearExpectations(&observer_);
64 64
65 const DictionaryValue* current_value = prefs_.GetDictionary(kPref); 65 const DictionaryValue* current_value = prefs_.GetDictionary(kPref);
66 ASSERT_TRUE(current_value); 66 ASSERT_TRUE(current_value);
67 EXPECT_TRUE(expected_dictionary.Equals(current_value)); 67 EXPECT_TRUE(expected_dictionary.Equals(current_value));
68 } 68 }
69 69
70 TEST_F(ScopedUserPrefUpdateTest, NeverTouchAnything) { 70 TEST_F(ScopedUserPrefUpdateTest, NeverTouchAnything) {
71 const DictionaryValue* old_value = prefs_.GetDictionary(kPref); 71 const DictionaryValue* old_value = prefs_.GetDictionary(kPref);
72 EXPECT_CALL(observer_, Observe(_, _, _)).Times(0); 72 EXPECT_CALL(observer_, OnPreferenceChanged(_, _)).Times(0);
73 { 73 {
74 DictionaryPrefUpdate update(&prefs_, kPref); 74 DictionaryPrefUpdate update(&prefs_, kPref);
75 } 75 }
76 const DictionaryValue* new_value = prefs_.GetDictionary(kPref); 76 const DictionaryValue* new_value = prefs_.GetDictionary(kPref);
77 EXPECT_EQ(old_value, new_value); 77 EXPECT_EQ(old_value, new_value);
78 Mock::VerifyAndClearExpectations(&observer_); 78 Mock::VerifyAndClearExpectations(&observer_);
79 } 79 }
OLDNEW
« no previous file with comments | « chrome/browser/prefs/pref_value_store.h ('k') | chrome/browser/printing/cloud_print/cloud_print_proxy_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698