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 | 5 |
6 import "dart:io"; | 6 import "dart:io"; |
7 | 7 |
8 import "package:async_helper/async_helper.dart"; | 8 import "package:async_helper/async_helper.dart"; |
9 import "package:expect/expect.dart"; | 9 import "package:expect/expect.dart"; |
10 | 10 |
11 void testInvalidUrl() { | 11 void testInvalidUrl() { |
12 HttpClient client = new HttpClient(); | 12 HttpClient client = new HttpClient(); |
13 Expect.throws( | 13 Expect.throws( |
14 () => client.getUrl(Uri.parse('ftp://www.google.com'))); | 14 () => client.getUrl(Uri.parse('ftp://www.google.com')), |
| 15 (e) => e.toString().contains("Unsupported scheme")); |
| 16 Expect.throws( |
| 17 () => client.getUrl(Uri.parse('httpx://www.google.com')), |
| 18 (e) => e.toString().contains("Unsupported scheme")); |
| 19 Expect.throws( |
| 20 () => client.getUrl(Uri.parse('http://::1')), |
| 21 (e) => e.toString().contains("No host specified")); |
| 22 Expect.throws( |
| 23 () => client.getUrl(Uri.parse('http:///')), |
| 24 (e) => e.toString().contains("No host specified")); |
| 25 Expect.throws( |
| 26 () => client.getUrl(Uri.parse('http:///index.html')), |
| 27 (e) => e.toString().contains("No host specified")); |
| 28 Expect.throws( |
| 29 () => client.getUrl(Uri.parse('///')), |
| 30 (e) => e.toString().contains("No host specified")); |
| 31 Expect.throws( |
| 32 () => client.getUrl(Uri.parse('///index.html')), |
| 33 (e) => e.toString().contains("No host specified")); |
15 } | 34 } |
16 | 35 |
17 void testBadHostName() { | 36 void testBadHostName() { |
18 asyncStart(); | 37 asyncStart(); |
19 HttpClient client = new HttpClient(); | 38 HttpClient client = new HttpClient(); |
20 client.get("some.bad.host.name.7654321", 0, "/") | 39 client.get("some.bad.host.name.7654321", 0, "/") |
21 .then((request) { | 40 .then((request) { |
22 Expect.fail("Should not open a request on bad hostname"); | 41 Expect.fail("Should not open a request on bad hostname"); |
23 }).catchError((error) { | 42 }).catchError((error) { |
24 asyncEnd(); // We expect onError to be called, due to bad host name. | 43 asyncEnd(); // We expect onError to be called, due to bad host name. |
25 }, test: (error) => error is! String); | 44 }, test: (error) => error is! String); |
26 } | 45 } |
27 | 46 |
28 void main() { | 47 void main() { |
29 testInvalidUrl(); | 48 testInvalidUrl(); |
30 testBadHostName(); | 49 testBadHostName(); |
31 } | 50 } |
OLD | NEW |