proxy_config_dictionary_unittest.cc 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. // Copyright (c) 2011 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.
  4. #include "components/proxy_config/proxy_config_dictionary.h"
  5. #include <memory>
  6. #include <string>
  7. #include <utility>
  8. #include "base/values.h"
  9. #include "testing/gtest/include/gtest/gtest.h"
  10. struct ProxyConfigHolder {
  11. ProxyPrefs::ProxyMode mode;
  12. std::string pac_url;
  13. std::string proxy_server;
  14. std::string bypass_list;
  15. };
  16. TEST(ProxyConfigDictionaryTest, CreateDirect) {
  17. ProxyConfigDictionary dict(ProxyConfigDictionary::CreateDirect());
  18. ProxyConfigHolder h;
  19. ASSERT_TRUE(dict.GetMode(&h.mode));
  20. EXPECT_EQ(ProxyPrefs::MODE_DIRECT, h.mode);
  21. ASSERT_FALSE(dict.GetPacUrl(&h.bypass_list));
  22. ASSERT_FALSE(dict.GetProxyServer(&h.proxy_server));
  23. ASSERT_FALSE(dict.GetBypassList(&h.bypass_list));
  24. }
  25. TEST(ProxyConfigDictionaryTest, CreateAutoDetect) {
  26. ProxyConfigDictionary dict(ProxyConfigDictionary::CreateAutoDetect());
  27. ProxyConfigHolder h;
  28. ASSERT_TRUE(dict.GetMode(&h.mode));
  29. EXPECT_EQ(ProxyPrefs::MODE_AUTO_DETECT, h.mode);
  30. ASSERT_FALSE(dict.GetPacUrl(&h.bypass_list));
  31. ASSERT_FALSE(dict.GetProxyServer(&h.proxy_server));
  32. ASSERT_FALSE(dict.GetBypassList(&h.bypass_list));
  33. }
  34. TEST(ProxyConfigDictionaryTest, CreatePacScript) {
  35. ProxyConfigDictionary dict(
  36. ProxyConfigDictionary::CreatePacScript("pac", false));
  37. ProxyConfigHolder h;
  38. ASSERT_TRUE(dict.GetMode(&h.mode));
  39. EXPECT_EQ(ProxyPrefs::MODE_PAC_SCRIPT, h.mode);
  40. ASSERT_TRUE(dict.GetPacUrl(&h.bypass_list));
  41. EXPECT_EQ("pac", h.bypass_list);
  42. ASSERT_FALSE(dict.GetProxyServer(&h.proxy_server));
  43. ASSERT_FALSE(dict.GetBypassList(&h.bypass_list));
  44. }
  45. TEST(ProxyConfigDictionaryTest, CreateFixedServers) {
  46. ProxyConfigDictionary dict(ProxyConfigDictionary::CreateFixedServers(
  47. "http://1.2.3.4", "http://foo"));
  48. ProxyConfigHolder h;
  49. ASSERT_TRUE(dict.GetMode(&h.mode));
  50. EXPECT_EQ(ProxyPrefs::MODE_FIXED_SERVERS, h.mode);
  51. ASSERT_FALSE(dict.GetPacUrl(&h.bypass_list));
  52. ASSERT_TRUE(dict.GetProxyServer(&h.proxy_server));
  53. EXPECT_EQ("http://1.2.3.4", h.proxy_server);
  54. ASSERT_TRUE(dict.GetBypassList(&h.bypass_list));
  55. EXPECT_EQ("http://foo", h.bypass_list);
  56. }
  57. TEST(ProxyConfigDictionaryTest, CreateSystem) {
  58. ProxyConfigDictionary dict(ProxyConfigDictionary::CreateSystem());
  59. ProxyConfigHolder h;
  60. ASSERT_TRUE(dict.GetMode(&h.mode));
  61. EXPECT_EQ(ProxyPrefs::MODE_SYSTEM, h.mode);
  62. ASSERT_FALSE(dict.GetPacUrl(&h.bypass_list));
  63. ASSERT_FALSE(dict.GetProxyServer(&h.proxy_server));
  64. ASSERT_FALSE(dict.GetBypassList(&h.bypass_list));
  65. }