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')), | |
Bill Hesse
2013/11/08 14:54:32
Also add a test for http:///index.html?
Søren Gjesse
2013/11/28 13:47:19
Good point. Added http:///, /// and ///index.html
| |
21 (e) => e.toString().contains("No host specified")); | |
15 } | 22 } |
16 | 23 |
17 void testBadHostName() { | 24 void testBadHostName() { |
18 asyncStart(); | 25 asyncStart(); |
19 HttpClient client = new HttpClient(); | 26 HttpClient client = new HttpClient(); |
20 client.get("some.bad.host.name.7654321", 0, "/") | 27 client.get("some.bad.host.name.7654321", 0, "/") |
21 .then((request) { | 28 .then((request) { |
22 Expect.fail("Should not open a request on bad hostname"); | 29 Expect.fail("Should not open a request on bad hostname"); |
23 }).catchError((error) { | 30 }).catchError((error) { |
24 asyncEnd(); // We expect onError to be called, due to bad host name. | 31 asyncEnd(); // We expect onError to be called, due to bad host name. |
25 }, test: (error) => error is! String); | 32 }, test: (error) => error is! String); |
26 } | 33 } |
27 | 34 |
28 void main() { | 35 void main() { |
29 testInvalidUrl(); | 36 testInvalidUrl(); |
30 testBadHostName(); | 37 testBadHostName(); |
31 } | 38 } |
OLD | NEW |