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

Side by Side Diff: tests/standalone/io/http_client_connect_test.dart

Issue 23886004: Update dart:io tests to use asyncStart/asyncEnd (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressed review comments Created 7 years, 3 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
OLDNEW
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 // VMOptions= 5 // VMOptions=
6 // VMOptions=--short_socket_read 6 // VMOptions=--short_socket_read
7 // VMOptions=--short_socket_write 7 // VMOptions=--short_socket_write
8 // VMOptions=--short_socket_read --short_socket_write 8 // VMOptions=--short_socket_read --short_socket_write
9 9
10 import "package:expect/expect.dart";
11 import 'dart:async'; 10 import 'dart:async';
12 import 'dart:io'; 11 import 'dart:io';
13 import 'dart:isolate'; 12
13 import "package:async_helper/async_helper.dart";
14 import "package:expect/expect.dart";
14 15
15 void testGetEmptyRequest() { 16 void testGetEmptyRequest() {
16 HttpServer.bind("127.0.0.1", 0).then((server) { 17 HttpServer.bind("127.0.0.1", 0).then((server) {
17 server.listen((request) { 18 server.listen((request) {
18 request.pipe(request.response); 19 request.pipe(request.response);
19 }); 20 });
20 21
21 var client = new HttpClient(); 22 var client = new HttpClient();
22 client.get("127.0.0.1", server.port, "/") 23 client.get("127.0.0.1", server.port, "/")
23 .then((request) => request.close()) 24 .then((request) => request.close())
(...skipping 22 matching lines...) Expand all
46 (data) => count += data.length, 47 (data) => count += data.length,
47 onDone: () { 48 onDone: () {
48 server.close(); 49 server.close();
49 Expect.equals(data.length, count); 50 Expect.equals(data.length, count);
50 }); 51 });
51 }); 52 });
52 }); 53 });
53 } 54 }
54 55
55 void testGetInvalidHost() { 56 void testGetInvalidHost() {
56 var port = new ReceivePort(); 57 asyncStart();
57 var client = new HttpClient(); 58 var client = new HttpClient();
58 client.get("__SOMETHING_INVALID__", 8888, "/") 59 client.get("__SOMETHING_INVALID__", 8888, "/")
59 .catchError((error) { 60 .catchError((error) {
60 port.close();
61 client.close(); 61 client.close();
62 asyncEnd();
62 }); 63 });
63 } 64 }
64 65
65 void testGetServerClose() { 66 void testGetServerClose() {
67 asyncStart();
66 HttpServer.bind("127.0.0.1", 0).then((server) { 68 HttpServer.bind("127.0.0.1", 0).then((server) {
67 server.listen((request) { 69 server.listen((request) {
68 server.close(); 70 server.close();
69 }); 71 });
70 72
71 var port = new ReceivePort();
72 var client = new HttpClient(); 73 var client = new HttpClient();
73 client.get("127.0.0.1", server.port, "/") 74 client.get("127.0.0.1", server.port, "/")
74 .then((request) => request.close()) 75 .then((request) => request.close())
75 .then((response) { 76 .then((response) {
76 Expect.fail("Request not expected"); 77 Expect.fail("Request not expected");
77 }) 78 })
78 .catchError((error) => port.close(), 79 .catchError((error) => asyncEnd(),
79 test: (error) => error is HttpException); 80 test: (error) => error is HttpException);
80 }); 81 });
81 } 82 }
82 83
83 void testGetDataServerClose() { 84 void testGetDataServerClose() {
85 asyncStart();
84 var completer = new Completer(); 86 var completer = new Completer();
85 HttpServer.bind("127.0.0.1", 0).then((server) { 87 HttpServer.bind("127.0.0.1", 0).then((server) {
86 server.listen((request) { 88 server.listen((request) {
87 request.response.contentLength = 100; 89 request.response.contentLength = 100;
88 request.response.write("data"); 90 request.response.write("data");
89 request.response.write("more data"); 91 request.response.write("more data");
90 completer.future.then((_) => server.close()); 92 completer.future.then((_) => server.close());
91 }); 93 });
92 94
93 var port = new ReceivePort();
94 var client = new HttpClient(); 95 var client = new HttpClient();
95 client.get("127.0.0.1", server.port, "/") 96 client.get("127.0.0.1", server.port, "/")
96 .then((request) => request.close()) 97 .then((request) => request.close())
97 .then((response) { 98 .then((response) {
98 // Close the (incomplete) response, now we have seen the response object . 99 // Close the (incomplete) response, now we have seen the response object .
99 completer.complete(null); 100 completer.complete(null);
100 int errors = 0; 101 int errors = 0;
101 response.listen( 102 response.listen(
102 (data) {}, 103 (data) {},
103 onError: (error) => errors++, 104 onError: (error) => errors++,
104 onDone: () { 105 onDone: () {
105 port.close();
106 Expect.equals(1, errors); 106 Expect.equals(1, errors);
107 asyncEnd();
107 }); 108 });
108 }); 109 });
109 }); 110 });
110 } 111 }
111 112
112 void testPostEmptyRequest() { 113 void testPostEmptyRequest() {
113 HttpServer.bind("127.0.0.1", 0).then((server) { 114 HttpServer.bind("127.0.0.1", 0).then((server) {
114 server.listen((request) { 115 server.listen((request) {
115 request.pipe(request.response); 116 request.pipe(request.response);
116 }); 117 });
117 118
118 var client = new HttpClient(); 119 var client = new HttpClient();
119 client.post("127.0.0.1", server.port, "/") 120 client.post("127.0.0.1", server.port, "/")
120 .then((request) => request.close()) 121 .then((request) => request.close())
121 .then((response) { 122 .then((response) {
122 response.listen((data) {}, onDone: server.close); 123 response.listen((data) {}, onDone: server.close);
123 }); 124 });
124 }); 125 });
125 } 126 }
126 127
127 128
128 void main() { 129 void main() {
129 testGetEmptyRequest(); 130 testGetEmptyRequest();
130 testGetDataRequest(); 131 testGetDataRequest();
131 testGetInvalidHost(); 132 testGetInvalidHost();
132 testGetServerClose(); 133 testGetServerClose();
133 testGetDataServerClose(); 134 testGetDataServerClose();
134 testPostEmptyRequest(); 135 testPostEmptyRequest();
135 } 136 }
OLDNEW
« no previous file with comments | « tests/standalone/io/file_write_as_test.dart ('k') | tests/standalone/io/http_client_exception_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698