1 // Copyright 2014 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.
5 #include "base/prefs/pref_value_map.h"
6 #include "base/values.h"
7 #include "chrome/browser/search/contextual_search_policy_handler_android.h"
8 #include "chrome/common/pref_names.h"
9 #include "components/policy/core/common/policy_map.h"
10 #include "policy/policy_constants.h"
11 #include "testing/gtest/include/gtest/gtest.h"
15 TEST(ContextualSearchPolicyHandlerAndroidTest
, Default
) {
18 ContextualSearchPolicyHandlerAndroid handler
;
19 handler
.ApplyPolicySettings(policy
, &prefs
);
20 std::string pref_value
;
21 EXPECT_FALSE(prefs
.GetString(prefs::kContextualSearchEnabled
, &pref_value
));
22 EXPECT_EQ("", pref_value
);
25 TEST(ContextualSearchPolicyHandlerAndroidTest
, Enabled
) {
27 policy
.Set(key::kContextualSearchEnabled
,
28 POLICY_LEVEL_MANDATORY
,
30 new base::FundamentalValue(true),
33 ContextualSearchPolicyHandlerAndroid handler
;
34 handler
.ApplyPolicySettings(policy
, &prefs
);
36 // Enabling Contextual Search policy should not set the pref.
37 std::string pref_value
;
38 EXPECT_FALSE(prefs
.GetString(prefs::kContextualSearchEnabled
, &pref_value
));
39 EXPECT_EQ("", pref_value
);
42 TEST(ContextualSearchPolicyHandlerAndroidTest
, Disabled
) {
44 policy
.Set(key::kContextualSearchEnabled
,
45 POLICY_LEVEL_MANDATORY
,
47 new base::FundamentalValue(false),
50 ContextualSearchPolicyHandlerAndroid handler
;
51 handler
.ApplyPolicySettings(policy
, &prefs
);
53 // Disabling Contextual Search should switch the pref to managed.
54 std::string pref_value
;
55 EXPECT_TRUE(prefs
.GetString(prefs::kContextualSearchEnabled
, &pref_value
));
56 EXPECT_EQ("false", pref_value
);