blob: 0fe41caa0e1918677ec185e1ac6f69d5ddf1638a [file] [log] [blame]
[email protected]4bff53d2012-03-08 23:13:101// Copyright (c) 2012 The Chromium Authors. All rights reserved.
[email protected]4e94ab32011-08-05 05:28:272// 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/prefs/incognito_mode_prefs.h"
6
wez976ae7d2017-01-17 17:51:027#include "base/test/gtest_util.h"
[email protected]4e94ab32011-08-05 05:28:278#include "chrome/common/pref_names.h"
maxbogueea16ff412016-10-28 16:35:299#include "components/sync_preferences/testing_pref_service_syncable.h"
[email protected]4e94ab32011-08-05 05:28:2710#include "testing/gtest/include/gtest/gtest.h"
11
12class IncognitoModePrefsTest : public testing::Test {
13 protected:
dchenge1bc7982014-10-30 00:32:4014 void SetUp() override {
[email protected]37ca3fe02013-07-05 15:32:4415 IncognitoModePrefs::RegisterProfilePrefs(prefs_.registry());
[email protected]4e94ab32011-08-05 05:28:2716 }
17
maxbogueea16ff412016-10-28 16:35:2918 sync_preferences::TestingPrefServiceSyncable prefs_;
[email protected]4e94ab32011-08-05 05:28:2719};
20
21TEST_F(IncognitoModePrefsTest, IntToAvailability) {
22 ASSERT_EQ(0, IncognitoModePrefs::ENABLED);
23 ASSERT_EQ(1, IncognitoModePrefs::DISABLED);
24 ASSERT_EQ(2, IncognitoModePrefs::FORCED);
25
26 IncognitoModePrefs::Availability incognito;
27 EXPECT_TRUE(IncognitoModePrefs::IntToAvailability(0, &incognito));
28 EXPECT_EQ(IncognitoModePrefs::ENABLED, incognito);
29 EXPECT_TRUE(IncognitoModePrefs::IntToAvailability(1, &incognito));
30 EXPECT_EQ(IncognitoModePrefs::DISABLED, incognito);
31 EXPECT_TRUE(IncognitoModePrefs::IntToAvailability(2, &incognito));
32 EXPECT_EQ(IncognitoModePrefs::FORCED, incognito);
33
34 EXPECT_FALSE(IncognitoModePrefs::IntToAvailability(10, &incognito));
Ian Vollick381389a62019-06-26 16:49:4035 EXPECT_EQ(IncognitoModePrefs::kDefaultAvailability, incognito);
[email protected]4e94ab32011-08-05 05:28:2736 EXPECT_FALSE(IncognitoModePrefs::IntToAvailability(-1, &incognito));
Ian Vollick381389a62019-06-26 16:49:4037 EXPECT_EQ(IncognitoModePrefs::kDefaultAvailability, incognito);
[email protected]4e94ab32011-08-05 05:28:2738}
39
40TEST_F(IncognitoModePrefsTest, GetAvailability) {
vabr8684c9a2017-03-29 13:14:5741 prefs_.SetUserPref(
42 prefs::kIncognitoModeAvailability,
Jeremy Romanec48d7a2018-03-01 17:35:0943 std::make_unique<base::Value>(IncognitoModePrefs::ENABLED));
[email protected]4e94ab32011-08-05 05:28:2744 EXPECT_EQ(IncognitoModePrefs::ENABLED,
45 IncognitoModePrefs::GetAvailability(&prefs_));
46
vabr8684c9a2017-03-29 13:14:5747 prefs_.SetUserPref(
48 prefs::kIncognitoModeAvailability,
Jeremy Romanec48d7a2018-03-01 17:35:0949 std::make_unique<base::Value>(IncognitoModePrefs::DISABLED));
[email protected]4e94ab32011-08-05 05:28:2750 EXPECT_EQ(IncognitoModePrefs::DISABLED,
51 IncognitoModePrefs::GetAvailability(&prefs_));
52
53 prefs_.SetUserPref(prefs::kIncognitoModeAvailability,
Jeremy Romanec48d7a2018-03-01 17:35:0954 std::make_unique<base::Value>(IncognitoModePrefs::FORCED));
[email protected]4e94ab32011-08-05 05:28:27