OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "chrome/browser/ui/webui/ntp/shown_sections_handler.h" | |
6 | |
7 #include "base/memory/scoped_ptr.h" | |
8 #include "chrome/browser/prefs/pref_value_store.h" | |
9 #include "chrome/common/json_pref_store.h" | |
10 #include "chrome/common/pref_names.h" | |
11 #include "chrome/test/base/testing_pref_service.h" | |
12 #include "testing/gtest/include/gtest/gtest.h" | |
13 | |
14 class ShownSectionsHandlerTest : public testing::Test { | |
15 }; | |
16 | |
17 namespace { | |
18 | |
19 int MigratePrefValue(PrefService* prefs, int starting_value) { | |
20 prefs->SetInteger(prefs::kNTPShownSections, starting_value); | |
21 ShownSectionsHandler::MigrateUserPrefs(prefs, 1, 3); | |
22 return prefs->GetInteger(prefs::kNTPShownSections); | |
23 } | |
24 | |
25 } // namespace | |
26 | |
27 TEST_F(ShownSectionsHandlerTest, MigrateUserPrefs) { | |
28 scoped_ptr<PrefService> pref(new TestingPrefService); | |
29 | |
30 pref->RegisterIntegerPref(prefs::kNTPShownSections, 0); | |
31 | |
32 EXPECT_EQ(APPS, MigratePrefValue(pref.get(), APPS)); | |
33 EXPECT_EQ(THUMB, MigratePrefValue(pref.get(), THUMB)); | |
34 EXPECT_EQ(APPS, MigratePrefValue(pref.get(), APPS | THUMB)); | |
35 | |
36 // 2 is not currently used, but older state may contain it and we should do | |
37 // something reasonable. | |
38 EXPECT_EQ(THUMB, MigratePrefValue(pref.get(), 3)); | |
39 | |
40 // 0 can't correspond to any section, but we should still do something | |
41 // reasonable. | |
42 EXPECT_EQ(THUMB, MigratePrefValue(pref.get(), 0)); | |
43 } | |
OLD | NEW |