| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
| 6 import "dart:io"; | 6 import "dart:io"; |
| 7 | 7 |
| 8 expect(expected, String uri, environment) { | 8 expect(expected, String uri, environment) { |
| 9 Expect.equals(expected, | 9 Expect.equals(expected, |
| 10 HttpClient.findProxyFromEnvironment(Uri.parse(uri), | 10 HttpClient.findProxyFromEnvironment(Uri.parse(uri), |
| 11 environment: environment)); | 11 environment: environment)); |
| 12 } | 12 } |
| 13 | 13 |
| 14 expectDirect(String uri, environment) { | 14 expectDirect(String uri, environment) { |
| 15 Expect.equals("DIRECT", | 15 Expect.equals("DIRECT", |
| 16 HttpClient.findProxyFromEnvironment(Uri.parse(uri), | 16 HttpClient.findProxyFromEnvironment(Uri.parse(uri), |
| 17 environment: environment)); | 17 environment: environment)); |
| 18 } | 18 } |
| 19 | 19 |
| 20 main() { | 20 main() { |
| 21 expectDirect("http://www.google.com", {}); | 21 expectDirect("http://www.google.com", {}); |
| 22 expectDirect("http://www.google.com", {"http_proxy": ""}); |
| 23 expectDirect("http://www.google.com", {"http_proxy": " "}); |
| 22 | 24 |
| 23 expect("PROXY www.proxy.com:1080", | 25 expect("PROXY www.proxy.com:1080", |
| 24 "http://www.google.com", | 26 "http://www.google.com", |
| 25 {"http_proxy": "www.proxy.com"}); | 27 {"http_proxy": "www.proxy.com"}); |
| 26 expect("PROXY www.proxys.com:1080", | 28 expect("PROXY www.proxys.com:1080", |
| 27 "https://www.google.com", | 29 "https://www.google.com", |
| 28 {"https_proxy": "www.proxys.com"}); | 30 {"https_proxy": "www.proxys.com"}); |
| 29 expect("PROXY www.proxy.com:8080", | 31 expect("PROXY www.proxy.com:8080", |
| 30 "http://www.google.com", | 32 "http://www.google.com", |
| 31 {"http_proxy": "www.proxy.com:8080"}); | 33 {"http_proxy": "www.proxy.com:8080"}); |
| 32 expect("PROXY www.proxys.com:8080", | 34 expect("PROXY www.proxys.com:8080", |
| 33 "https://www.google.com", | 35 "https://www.google.com", |
| 34 {"https_proxy": "www.proxys.com:8080"}); | 36 {"https_proxy": "www.proxys.com:8080"}); |
| 35 expect("PROXY www.proxy.com:8080", | 37 expect("PROXY www.proxy.com:8080", |
| 36 "http://www.google.com", | 38 "http://www.google.com", |
| 37 {"http_proxy": "www.proxy.com:8080", | 39 {"http_proxy": "www.proxy.com:8080", |
| 38 "https_proxy": "www.proxy.com:8080"}); | 40 "https_proxy": "www.proxys.com:8080"}); |
| 39 expect("PROXY www.proxys.com:8080", | 41 expect("PROXY www.proxys.com:8080", |
| 40 "https://www.google.com", | 42 "https://www.google.com", |
| 41 {"http_proxy": "www.proxy.com:8080", | 43 {"http_proxy": "www.proxy.com:8080", |
| 42 "https_proxy": "www.proxys.com:8080"}); | 44 "https_proxy": "www.proxys.com:8080"}); |
| 43 | 45 |
| 46 expect("PROXY [::FFFF:1]:1080", |
| 47 "http://www.google.com", |
| 48 {"http_proxy": "[::FFFF:1]"}); |
| 49 expect("PROXY [::FFFF:2]:1080", |
| 50 "https://www.google.com", |
| 51 {"https_proxy": "[::FFFF:2]"}); |
| 52 expect("PROXY [::FFFF:1]:8080", |
| 53 "http://www.google.com", |
| 54 {"http_proxy": "[::FFFF:1]:8080"}); |
| 55 expect("PROXY [::FFFF:2]:8080", |
| 56 "https://www.google.com", |
| 57 {"https_proxy": "[::FFFF:2]:8080"}); |
| 58 expect("PROXY [::FFFF:1]:8080", |
| 59 "http://www.google.com", |
| 60 {"http_proxy": "[::FFFF:1]:8080", |
| 61 "https_proxy": "[::FFFF:2]:8080"}); |
| 62 expect("PROXY [::FFFF:2]:8080", |
| 63 "https://www.google.com", |
| 64 {"http_proxy": "[::FFFF:1]:8080", |
| 65 "https_proxy": "[::FFFF:2]:8080"}); |
| 66 |
| 44 expect("PROXY www.proxy.com:1080", | 67 expect("PROXY www.proxy.com:1080", |
| 45 "http://www.google.com", | 68 "http://www.google.com", |
| 46 {"http_proxy": "http://www.proxy.com"}); | 69 {"http_proxy": "http://www.proxy.com"}); |
| 47 expect("PROXY www.proxy.com:1080", | 70 expect("PROXY www.proxy.com:1080", |
| 48 "http://www.google.com", | 71 "http://www.google.com", |
| 49 {"http_proxy": "http://www.proxy.com/"}); | 72 {"http_proxy": "http://www.proxy.com/"}); |
| 50 expect("PROXY www.proxy.com:8080", | 73 expect("PROXY www.proxy.com:8080", |
| 51 "http://www.google.com", | 74 "http://www.google.com", |
| 52 {"http_proxy": "http://www.proxy.com:8080/"}); | 75 {"http_proxy": "http://www.proxy.com:8080/"}); |
| 53 expect("PROXY www.proxy.com:8080", | 76 expect("PROXY www.proxy.com:8080", |
| 54 "http://www.google.com", | 77 "http://www.google.com", |
| 55 {"http_proxy": "http://www.proxy.com:8080/index.html"}); | 78 {"http_proxy": "http://www.proxy.com:8080/index.html"}); |
| 56 expect("PROXY www.proxy.com:8080", | 79 expect("PROXY www.proxy.com:8080", |
| 57 "http://www.google.com", | 80 "http://www.google.com", |
| 58 {"http_proxy": "http://www.proxy.com:8080/", | 81 {"http_proxy": "http://www.proxy.com:8080/", |
| 59 "https_proxy": "http://www.proxy.com:8080/"}); | 82 "https_proxy": "http://www.proxys.com:8080/"}); |
| 60 expect("PROXY www.proxys.com:8080", | 83 expect("PROXY www.proxys.com:8080", |
| 61 "https://www.google.com", | 84 "https://www.google.com", |
| 62 {"http_proxy": "http://www.proxy.com:8080/", | 85 {"http_proxy": "http://www.proxy.com:8080/", |
| 63 "https_proxy": "http://www.proxys.com:8080/"}); | 86 "https_proxy": "http://www.proxys.com:8080/"}); |
| 64 expect("PROXY www.proxy.com:8080", | 87 expect("PROXY www.proxy.com:8080", |
| 65 "http://www.google.com", | 88 "http://www.google.com", |
| 66 {"http_proxy": "http://www.proxy.com:8080/", | 89 {"http_proxy": "http://www.proxy.com:8080/", |
| 67 "https_proxy": "http://www.proxy.com:8080/index.html"}); | 90 "https_proxy": "http://www.proxys.com:8080/index.html"}); |
| 68 expect("PROXY www.proxys.com:8080", | 91 expect("PROXY www.proxys.com:8080", |
| 69 "https://www.google.com", | 92 "https://www.google.com", |
| 70 {"http_proxy": "http://www.proxy.com:8080/", | 93 {"http_proxy": "http://www.proxy.com:8080/", |
| 71 "https_proxy": "http://www.proxys.com:8080/index.html"}); | 94 "https_proxy": "http://www.proxys.com:8080/index.html"}); |
| 72 | 95 |
| 96 expect("PROXY [::FFFF:1]:1080", |
| 97 "http://www.google.com", |
| 98 {"http_proxy": "http://[::FFFF:1]"}); |
| 99 expect("PROXY [::FFFF:1]:1080", |
| 100 "http://www.google.com", |
| 101 {"http_proxy": "http://[::FFFF:1]/"}); |
| 102 expect("PROXY [::FFFF:1]:8080", |
| 103 "http://www.google.com", |
| 104 {"http_proxy": "http://[::FFFF:1]:8080/"}); |
| 105 expect("PROXY [::FFFF:1]:8080", |
| 106 "http://www.google.com", |
| 107 {"http_proxy": "http://[::FFFF:1]:8080/index.html"}); |
| 108 expect("PROXY [::FFFF:1]:8080", |
| 109 "http://www.google.com", |
| 110 {"http_proxy": "http://[::FFFF:1]:8080/", |
| 111 "https_proxy": "http://[::FFFF:1]:8080/"}); |
| 112 expect("PROXY [::FFFF:2]:8080", |
| 113 "https://www.google.com", |
| 114 {"http_proxy": "http://[::FFFF:1]:8080/", |
| 115 "https_proxy": "http://[::FFFF:2]:8080/"}); |
| 116 expect("PROXY [::FFFF:1]:8080", |
| 117 "http://www.google.com", |
| 118 {"http_proxy": "http://[::FFFF:1]:8080/", |
| 119 "https_proxy": "http://[::FFFF:1]:8080/index.html"}); |
| 120 expect("PROXY [::FFFF:2]:8080", |
| 121 "https://www.google.com", |
| 122 {"http_proxy": "http://[::FFFF:1]:8080/", |
| 123 "https_proxy": "http://[::FFFF:2]:8080/index.html"}); |
| 124 |
| 73 expectDirect("http://www.google.com", | 125 expectDirect("http://www.google.com", |
| 74 {"http_proxy": "www.proxy.com:8080", | 126 {"http_proxy": "www.proxy.com:8080", |
| 75 "no_proxy": "www.google.com"}); | 127 "no_proxy": "www.google.com"}); |
| 76 expectDirect("http://www.google.com", | 128 expectDirect("http://www.google.com", |
| 77 {"http_proxy": "www.proxy.com:8080", | 129 {"http_proxy": "www.proxy.com:8080", |
| 78 "no_proxy": "google.com"}); | 130 "no_proxy": "google.com"}); |
| 79 expectDirect("http://www.google.com", | 131 expectDirect("http://www.google.com", |
| 80 {"http_proxy": "www.proxy.com:8080", | 132 {"http_proxy": "www.proxy.com:8080", |
| 81 "no_proxy": ".com"}); | 133 "no_proxy": ".com"}); |
| 82 expectDirect("http://www.google.com", | 134 expectDirect("http://www.google.com", |
| 83 {"http_proxy": "www.proxy.com:8080", | 135 {"http_proxy": "www.proxy.com:8080", |
| 84 "no_proxy": ",, , www.google.edu,,.com "}); | 136 "no_proxy": ",, , www.google.edu,,.com "}); |
| 85 expectDirect("http://www.google.edu", | 137 expectDirect("http://www.google.edu", |
| 86 {"http_proxy": "www.proxy.com:8080", | 138 {"http_proxy": "www.proxy.com:8080", |
| 87 "no_proxy": ",, , www.google.edu,,.com "}); | 139 "no_proxy": ",, , www.google.edu,,.com "}); |
| 88 expectDirect("http://www.google.com", | 140 expectDirect("http://www.google.com", |
| 89 {"https_proxy": "www.proxy.com:8080"}); | 141 {"https_proxy": "www.proxy.com:8080"}); |
| 142 |
| 143 expect("PROXY www.proxy.com:8080", |
| 144 "http://[::FFFF:1]", |
| 145 {"http_proxy": "www.proxy.com:8080", |
| 146 "no_proxy": "["}); |
| 147 expect("PROXY www.proxy.com:8080", |
| 148 "http://[::FFFF:1]", |
| 149 {"http_proxy": "www.proxy.com:8080", |
| 150 "no_proxy": "[]"}); |
| 151 |
| 152 expectDirect("http://[::FFFF:1]", |
| 153 {"http_proxy": "www.proxy.com:8080", |
| 154 "no_proxy": "[::FFFF:1]"}); |
| 155 expectDirect("http://[::FFFF:1]", |
| 156 {"http_proxy": "www.proxy.com:8080", |
| 157 "no_proxy": ",, , www.google.edu,,[::FFFF:1] "}); |
| 90 } | 158 } |
| OLD | NEW |