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 POLICY_SOURCE_PLATFORM
,
31 new base::FundamentalValue(true),
34 ContextualSearchPolicyHandlerAndroid handler
;
35 handler
.ApplyPolicySettings(policy
, &prefs
);
37 // Enabling Contextual Search policy should not set the pref.
38 std::string pref_value
;
39 EXPECT_FALSE(prefs
.GetString(prefs::kContextualSearchEnabled
, &pref_value
));
40 EXPECT_EQ("", pref_value
);
43 TEST(ContextualSearchPolicyHandlerAndroidTest
, Disabled
) {
45 policy
.Set(key::kContextualSearchEnabled
,
46 POLICY_LEVEL_MANDATORY
,
48 POLICY_SOURCE_PLATFORM
,
49 new base::FundamentalValue(false),
52 ContextualSearchPolicyHandlerAndroid handler
;
53 handler
.ApplyPolicySettings(policy
, &prefs
);
55 // Disabling Contextual Search should switch the pref to managed.
56 std::string pref_value
;
57 EXPECT_TRUE(prefs
.GetString(prefs::kContextualSearchEnabled
, &pref_value
));
58 EXPECT_EQ("false", pref_value
);