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

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

Issue 2782553004: Move TestingPrefService to use unique_ptr<Value> (Closed)
Patch Set: Android Created 3 years, 8 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/session_startup_pref.h" 5 #include "chrome/browser/prefs/session_startup_pref.h"
6 #include "base/memory/ptr_util.h"
6 #include "chrome/common/pref_names.h" 7 #include "chrome/common/pref_names.h"
7 #include "components/pref_registry/pref_registry_syncable.h" 8 #include "components/pref_registry/pref_registry_syncable.h"
8 #include "components/sync_preferences/testing_pref_service_syncable.h" 9 #include "components/sync_preferences/testing_pref_service_syncable.h"
9 #include "testing/gmock/include/gmock/gmock.h" 10 #include "testing/gmock/include/gmock/gmock.h"
10 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
11 12
12 // Unit tests for SessionStartupPref. 13 // Unit tests for SessionStartupPref.
13 class SessionStartupPrefTest : public testing::Test { 14 class SessionStartupPrefTest : public testing::Test {
14 public: 15 public:
15 void SetUp() override { 16 void SetUp() override {
16 pref_service_.reset(new sync_preferences::TestingPrefServiceSyncable); 17 pref_service_.reset(new sync_preferences::TestingPrefServiceSyncable);
17 SessionStartupPref::RegisterProfilePrefs(registry()); 18 SessionStartupPref::RegisterProfilePrefs(registry());
18 registry()->RegisterBooleanPref(prefs::kHomePageIsNewTabPage, true); 19 registry()->RegisterBooleanPref(prefs::kHomePageIsNewTabPage, true);
19 } 20 }
20 21
21 user_prefs::PrefRegistrySyncable* registry() { 22 user_prefs::PrefRegistrySyncable* registry() {
22 return pref_service_->registry(); 23 return pref_service_->registry();
23 } 24 }
24 25
25 std::unique_ptr<sync_preferences::TestingPrefServiceSyncable> pref_service_; 26 std::unique_ptr<sync_preferences::TestingPrefServiceSyncable> pref_service_;
26 }; 27 };
27 28
28 TEST_F(SessionStartupPrefTest, URLListIsFixedUp) { 29 TEST_F(SessionStartupPrefTest, URLListIsFixedUp) {
29 base::ListValue* url_pref_list = new base::ListValue; 30 auto url_pref_list = base::MakeUnique<base::ListValue>();
30 url_pref_list->Set(0, new base::Value("google.com")); 31 url_pref_list->Set(0, new base::Value("google.com"));
31 url_pref_list->Set(1, new base::Value("chromium.org")); 32 url_pref_list->Set(1, new base::Value("chromium.org"));
32 pref_service_->SetUserPref(prefs::kURLsToRestoreOnStartup, url_pref_list); 33 pref_service_->SetUserPref(prefs::kURLsToRestoreOnStartup,
34 std::move(url_pref_list));
33 35
34 SessionStartupPref result = 36 SessionStartupPref result =
35 SessionStartupPref::GetStartupPref(pref_service_.get()); 37 SessionStartupPref::GetStartupPref(pref_service_.get());
36 EXPECT_EQ(2u, result.urls.size()); 38 EXPECT_EQ(2u, result.urls.size());
37 EXPECT_EQ("http://google.com/", result.urls[0].spec()); 39 EXPECT_EQ("http://google.com/", result.urls[0].spec());
38 EXPECT_EQ("http://chromium.org/", result.urls[1].spec()); 40 EXPECT_EQ("http://chromium.org/", result.urls[1].spec());
39 } 41 }
40 42
41 TEST_F(SessionStartupPrefTest, URLListManagedOverridesUser) { 43 TEST_F(SessionStartupPrefTest, URLListManagedOverridesUser) {
42 base::ListValue* url_pref_list1 = new base::ListValue; 44 auto url_pref_list1 = base::MakeUnique<base::ListValue>();
43 url_pref_list1->Set(0, new base::Value("chromium.org")); 45 url_pref_list1->Set(0, new base::Value("chromium.org"));
44 pref_service_->SetUserPref(prefs::kURLsToRestoreOnStartup, url_pref_list1); 46 pref_service_->SetUserPref(prefs::kURLsToRestoreOnStartup,
47 std::move(url_pref_list1));
45 48
46 base::ListValue* url_pref_list2 = new base::ListValue; 49 auto url_pref_list2 = base::MakeUnique<base::ListValue>();
47 url_pref_list2->Set(0, new base::Value("chromium.org")); 50 url_pref_list2->Set(0, new base::Value("chromium.org"));
48 url_pref_list2->Set(1, new base::Value("chromium.org")); 51 url_pref_list2->Set(1, new base::Value("chromium.org"));
49 url_pref_list2->Set(2, new base::Value("chromium.org")); 52 url_pref_list2->Set(2, new base::Value("chromium.org"));
50 pref_service_->SetManagedPref(prefs::kURLsToRestoreOnStartup, 53 pref_service_->SetManagedPref(prefs::kURLsToRestoreOnStartup,
51 url_pref_list2); 54 std::move(url_pref_list2));
52 55
53 SessionStartupPref result = 56 SessionStartupPref result =
54 SessionStartupPref::GetStartupPref(pref_service_.get()); 57 SessionStartupPref::GetStartupPref(pref_service_.get());
55 EXPECT_EQ(3u, result.urls.size()); 58 EXPECT_EQ(3u, result.urls.size());
56 59
57 SessionStartupPref override_test = 60 SessionStartupPref override_test =
58 SessionStartupPref(SessionStartupPref::URLS); 61 SessionStartupPref(SessionStartupPref::URLS);
59 override_test.urls.push_back(GURL("dev.chromium.org")); 62 override_test.urls.push_back(GURL("dev.chromium.org"));
60 SessionStartupPref::SetStartupPref(pref_service_.get(), override_test); 63 SessionStartupPref::SetStartupPref(pref_service_.get(), override_test);
61 64
62 result = SessionStartupPref::GetStartupPref(pref_service_.get()); 65 result = SessionStartupPref::GetStartupPref(pref_service_.get());
63 EXPECT_EQ(3u, result.urls.size()); 66 EXPECT_EQ(3u, result.urls.size());
64 } 67 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698