OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/proxy/proxy_config_service_win.h" | 5 #include "net/proxy/proxy_config_service_win.h" |
6 | 6 |
7 #include "net/base/net_errors.h" | 7 #include "net/base/net_errors.h" |
8 #include "net/proxy/proxy_config.h" | 8 #include "net/proxy/proxy_config.h" |
9 #include "net/proxy/proxy_config_service_common_unittest.h" | 9 #include "net/proxy/proxy_config_service_common_unittest.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
11 | 11 |
12 namespace net { | 12 namespace net { |
13 | 13 |
14 TEST(ProxyConfigServiceWinTest, SetFromIEConfig) { | 14 TEST(ProxyConfigServiceWinTest, SetFromIEConfig) { |
15 // Like WINHTTP_CURRENT_USER_IE_PROXY_CONFIG, but with const strings. | |
16 struct IEProxyConfig { | |
17 BOOL auto_detect; | |
18 const wchar_t* auto_config_url; | |
19 const wchar_t* proxy; | |
20 const wchar_t* proxy_bypass;; | |
Reid Kleckner
2014/07/23 22:02:15
Double semi-colon?
Nico
2014/07/23 22:04:17
Done, thanks.
| |
21 }; | |
15 const struct { | 22 const struct { |
16 // Input. | 23 // Input. |
17 WINHTTP_CURRENT_USER_IE_PROXY_CONFIG ie_config; | 24 IEProxyConfig ie_config; |
18 | 25 |
19 // Expected outputs (fields of the ProxyConfig). | 26 // Expected outputs (fields of the ProxyConfig). |
20 bool auto_detect; | 27 bool auto_detect; |
21 GURL pac_url; | 28 GURL pac_url; |
22 ProxyRulesExpectation proxy_rules; | 29 ProxyRulesExpectation proxy_rules; |
23 const char* proxy_bypass_list; // newline separated | 30 const char* proxy_bypass_list; // newline separated |
24 } tests[] = { | 31 } tests[] = { |
25 // Auto detect. | 32 // Auto detect. |
26 { | 33 { |
27 { // Input. | 34 { // Input. |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
183 }, | 190 }, |
184 | 191 |
185 // Expected result. | 192 // Expected result. |
186 true, // auto_detect | 193 true, // auto_detect |
187 GURL(), // pac_url | 194 GURL(), // pac_url |
188 ProxyRulesExpectation::EmptyWithBypass("foo.com,google.com"), | 195 ProxyRulesExpectation::EmptyWithBypass("foo.com,google.com"), |
189 }, | 196 }, |
190 }; | 197 }; |
191 | 198 |
192 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { | 199 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { |
200 WINHTTP_CURRENT_USER_IE_PROXY_CONFIG ie_config = { | |
201 tests[i].ie_config.auto_detect, | |
202 const_cast<wchar_t*>(tests[i].ie_config.auto_config_url), | |
203 const_cast<wchar_t*>(tests[i].ie_config.proxy), | |
204 const_cast<wchar_t*>(tests[i].ie_config.proxy_bypass)}; | |
193 ProxyConfig config; | 205 ProxyConfig config; |
194 ProxyConfigServiceWin::SetFromIEConfig(&config, tests[i].ie_config); | 206 ProxyConfigServiceWin::SetFromIEConfig(&config, ie_config); |
195 | 207 |
196 EXPECT_EQ(tests[i].auto_detect, config.auto_detect()); | 208 EXPECT_EQ(tests[i].auto_detect, config.auto_detect()); |
197 EXPECT_EQ(tests[i].pac_url, config.pac_url()); | 209 EXPECT_EQ(tests[i].pac_url, config.pac_url()); |
198 EXPECT_TRUE(tests[i].proxy_rules.Matches(config.proxy_rules())); | 210 EXPECT_TRUE(tests[i].proxy_rules.Matches(config.proxy_rules())); |
199 EXPECT_EQ(PROXY_CONFIG_SOURCE_SYSTEM, config.source()); | 211 EXPECT_EQ(PROXY_CONFIG_SOURCE_SYSTEM, config.source()); |
200 } | 212 } |
201 } | 213 } |
202 | 214 |
203 } // namespace net | 215 } // namespace net |
OLD | NEW |