Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(434)

Side by Side Diff: net/proxy/proxy_server_unittest.cc

Issue 113811: Adding socks4 support for chromium. tested for windows and linux.... (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: final patch Created 11 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/proxy/proxy_server.cc ('k') | net/socket/socks_client_socket.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "net/proxy/proxy_server.h" 6 #include "net/proxy/proxy_server.h"
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 8
9 // Test the creation of ProxyServer using ProxyServer::FromURI, which parses 9 // Test the creation of ProxyServer using ProxyServer::FromURI, which parses
10 // inputs of the form [<scheme>"://"]<host>[":"<port>]. Verify that each part 10 // inputs of the form [<scheme>"://"]<host>[":"<port>]. Verify that each part
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 }, 118 },
119 { 119 {
120 "socks5://foopy:10", 120 "socks5://foopy:10",
121 "socks5://foopy:10", 121 "socks5://foopy:10",
122 net::ProxyServer::SCHEME_SOCKS5, 122 net::ProxyServer::SCHEME_SOCKS5,
123 "foopy", 123 "foopy",
124 10, 124 10,
125 "foopy:10", 125 "foopy:10",
126 "SOCKS5 foopy:10" 126 "SOCKS5 foopy:10"
127 }, 127 },
128
129 // SOCKS proxy URIs (should default to SOCKS4)
130 {
131 "socks://foopy", // No port.
132 "socks4://foopy:1080",
133 net::ProxyServer::SCHEME_SOCKS4,
134 "foopy",
135 1080,
136 "foopy:1080",
137 "SOCKS foopy:1080"
138 },
139 {
140 "socks://foopy:10",
141 "socks4://foopy:10",
142 net::ProxyServer::SCHEME_SOCKS4,
143 "foopy",
144 10,
145 "foopy:10",
146 "SOCKS foopy:10"
147 },
128 }; 148 };
129 149
130 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { 150 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
131 net::ProxyServer uri = net::ProxyServer::FromURI(tests[i].input_uri); 151 net::ProxyServer uri = net::ProxyServer::FromURI(tests[i].input_uri);
132 EXPECT_TRUE(uri.is_valid()); 152 EXPECT_TRUE(uri.is_valid());
133 EXPECT_FALSE(uri.is_direct()); 153 EXPECT_FALSE(uri.is_direct());
134 EXPECT_EQ(tests[i].expected_uri, uri.ToURI()); 154 EXPECT_EQ(tests[i].expected_uri, uri.ToURI());
135 EXPECT_EQ(tests[i].expected_scheme, uri.scheme()); 155 EXPECT_EQ(tests[i].expected_scheme, uri.scheme());
136 EXPECT_EQ(tests[i].expected_host, uri.HostNoBrackets()); 156 EXPECT_EQ(tests[i].expected_host, uri.HostNoBrackets());
137 EXPECT_EQ(tests[i].expected_port, uri.port()); 157 EXPECT_EQ(tests[i].expected_port, uri.port());
(...skipping 17 matching lines...) Expand all
155 EXPECT_EQ("DIRECT", uri.ToPacString()); 175 EXPECT_EQ("DIRECT", uri.ToPacString());
156 } 176 }
157 177
158 // Test parsing some invalid inputs. 178 // Test parsing some invalid inputs.
159 TEST(ProxyServerTest, Invalid) { 179 TEST(ProxyServerTest, Invalid) {
160 const char* tests[] = { 180 const char* tests[] = {
161 "", 181 "",
162 " ", 182 " ",
163 "dddf:", // not a valid port 183 "dddf:", // not a valid port
164 "dddd:d", // not a valid port 184 "dddd:d", // not a valid port
165 "socks://foopy", // not a valid scheme (needs to be socks4 or sock5).
166 "http://", // not a valid host/port. 185 "http://", // not a valid host/port.
167 "direct://xyz", // direct is not allowed a host/port. 186 "direct://xyz", // direct is not allowed a host/port.
168 "http:/", // ambiguous, but will fail because of bad port. 187 "http:/", // ambiguous, but will fail because of bad port.
169 "http:", // ambiguous, but will fail because of bad port. 188 "http:", // ambiguous, but will fail because of bad port.
170 "https://blah", // "https" is not a valid proxy scheme. 189 "https://blah", // "https" is not a valid proxy scheme.
171 }; 190 };
172 191
173 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { 192 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
174 net::ProxyServer uri = net::ProxyServer::FromURI(tests[i]); 193 net::ProxyServer uri = net::ProxyServer::FromURI(tests[i]);
175 EXPECT_FALSE(uri.is_valid()); 194 EXPECT_FALSE(uri.is_valid());
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 "PROXY", // missing host/port. 269 "PROXY", // missing host/port.
251 "SOCKS", // missing host/port. 270 "SOCKS", // missing host/port.
252 "DIRECT foopy:10", // direct cannot have host/port. 271 "DIRECT foopy:10", // direct cannot have host/port.
253 }; 272 };
254 273
255 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { 274 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
256 net::ProxyServer uri = net::ProxyServer::FromPacString(tests[i]); 275 net::ProxyServer uri = net::ProxyServer::FromPacString(tests[i]);
257 EXPECT_FALSE(uri.is_valid()); 276 EXPECT_FALSE(uri.is_valid());
258 } 277 }
259 } 278 }
OLDNEW
« no previous file with comments | « net/proxy/proxy_server.cc ('k') | net/socket/socks_client_socket.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698