#include <memory>
#include <utility>
#include "base/command_line.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/memory/ref_counted.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/policy/chrome_browser_policy_connector.h"
#include "chrome/browser/prefs/browser_prefs.h"
#include "chrome/browser/prefs/chrome_command_line_pref_store.h"
#include "chrome/common/chrome_switches.h"
#include "components/policy/core/common/external_data_fetcher.h"
#include "components/policy/core/common/mock_configuration_policy_provider.h"
#include "components/policy/core/common/policy_map.h"
#include "components/policy/core/common/policy_service_impl.h"
#include "components/policy/core/common/policy_types.h"
#include "components/policy/policy_constants.h"
#include "components/pref_registry/pref_registry_syncable.h"
#include "components/proxy_config/proxy_config_dictionary.h"
#include "components/proxy_config/proxy_config_pref_names.h"
#include "components/sync_preferences/pref_service_mock_factory.h"
#include "components/sync_preferences/pref_service_syncable.h"
#include "content/public/common/content_switches.h"
#include "content/public/test/browser_task_environment.h"
#include "testing/gtest/include/gtest/gtest.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chromeos/ash/components/install_attributes/stub_install_attributes.h"
#endif
Return;
_;
namespace policy {
namespace {
void assertProxyMode(const ProxyConfigDictionary& dict,
ProxyPrefs::ProxyMode expected_mode) { … }
void assertProxyServer(const ProxyConfigDictionary& dict,
const std::string& expected) { … }
void assertPacUrl(const ProxyConfigDictionary& dict,
const std::string& expected) { … }
void assertBypassList(const ProxyConfigDictionary& dict,
const std::string& expected) { … }
void assertProxyModeWithoutParams(const ProxyConfigDictionary& dict,
ProxyPrefs::ProxyMode proxy_mode) { … }
}
class ProxyPolicyTest : public testing::Test { … };
TEST_F(ProxyPolicyTest, OverridesCommandLineOptions) { … }
TEST_F(ProxyPolicyTest, OverridesUnrelatedCommandLineOptions) { … }
TEST_F(ProxyPolicyTest, OverridesCommandLineNoProxy) { … }
TEST_F(ProxyPolicyTest, OverridesCommandLineAutoDetect) { … }
}