1 // Copyright 2015 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 // Warning: this file will not be compiled for ChromeOS because the test
6 // PolicyMakeDefaultBrowserTest is not valid for this platform.
8 #include "base/command_line.h"
9 #include "chrome/common/chrome_result_codes.h"
10 #include "chrome/common/chrome_switches.h"
11 #include "chrome/test/base/in_process_browser_test.h"
12 #include "components/policy/core/browser/browser_policy_connector.h"
13 #include "components/policy/core/common/mock_configuration_policy_provider.h"
14 #include "components/policy/core/common/policy_map.h"
15 #include "policy/policy_constants.h"
17 class PolicyMakeDefaultBrowserTest
: public InProcessBrowserTest
{
19 PolicyMakeDefaultBrowserTest() : InProcessBrowserTest() {
20 set_expected_exit_code(chrome::RESULT_CODE_ACTION_DISALLOWED_BY_POLICY
);
23 void SetUpInProcessBrowserTestFixture() override
{
24 base::CommandLine::ForCurrentProcess()->AppendSwitch(
25 switches::kMakeDefaultBrowser
);
26 EXPECT_CALL(provider_
, IsInitializationComplete(testing::_
))
27 .WillRepeatedly(testing::Return(true));
29 policy::BrowserPolicyConnector::SetPolicyProviderForTesting(&provider_
);
31 policy::PolicyMap values
;
32 values
.Set(policy::key::kDefaultBrowserSettingEnabled
,
33 policy::POLICY_LEVEL_MANDATORY
,
34 policy::POLICY_SCOPE_MACHINE
,
35 new base::FundamentalValue(false),
37 provider_
.UpdateChromePolicy(values
);
41 policy::MockConfigurationPolicyProvider provider_
;
42 DISALLOW_COPY_AND_ASSIGN(PolicyMakeDefaultBrowserTest
);
45 IN_PROC_BROWSER_TEST_F(PolicyMakeDefaultBrowserTest
, MakeDefaultDisabled
) {