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

Side by Side Diff: tests/standalone/io/http_client_request_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 import "package:expect/expect.dart";
6 import "dart:io"; 5 import "dart:io";
7 import "dart:isolate";
8 import "dart:typed_data"; 6 import "dart:typed_data";
9 7
10 void testClientRequest(void handler(request)) { 8 import "package:async_helper/async_helper.dart";
9 import "package:expect/expect.dart";
10
11 void testClientRequest(Future handler(request)) {
11 HttpServer.bind("127.0.0.1", 0).then((server) { 12 HttpServer.bind("127.0.0.1", 0).then((server) {
12 server.listen((request) { 13 server.listen((request) {
13 request.listen((_) {}, onDone: () { 14 request.listen((_) {}, onDone: () {
14 request.response.close(); 15 request.response.close();
15 }, onError: (e) {}); 16 }, onError: (e) {});
16 }); 17 });
17 18
18 var client = new HttpClient(); 19 var client = new HttpClient();
19 client.get("127.0.0.1", server.port, "/") 20 client.get("127.0.0.1", server.port, "/")
20 .then((request) { 21 .then((request) {
(...skipping 17 matching lines...) Expand all
38 request.close().then((res1) { 39 request.close().then((res1) {
39 request.done.then((res2) { 40 request.done.then((res2) {
40 Expect.equals(res1, res2); 41 Expect.equals(res1, res2);
41 }); 42 });
42 }); 43 });
43 return request.done; 44 return request.done;
44 }); 45 });
45 } 46 }
46 47
47 void testBadResponseAdd() { 48 void testBadResponseAdd() {
49 asyncStart();
48 testClientRequest((request) { 50 testClientRequest((request) {
49 var port = new ReceivePort();
50 request.contentLength = 0; 51 request.contentLength = 0;
51 request.add([0]); 52 request.add([0]);
52 request.close(); 53 request.close();
53 request.done.catchError((error) { 54 request.done.catchError((error) {
54 port.close(); 55 asyncEnd();
55 }, test: (e) => e is HttpException); 56 }, test: (e) => e is HttpException);
56 return request.done; 57 return request.done;
57 }); 58 });
58 59
60 asyncStart();
59 testClientRequest((request) { 61 testClientRequest((request) {
60 var port = new ReceivePort();
61 request.contentLength = 5; 62 request.contentLength = 5;
62 request.add([0, 0, 0]); 63 request.add([0, 0, 0]);
63 request.add([0, 0, 0]); 64 request.add([0, 0, 0]);
64 request.close(); 65 request.close();
65 request.done.catchError((error) { 66 request.done.catchError((error) {
66 port.close(); 67 asyncEnd();
67 }, test: (e) => e is HttpException); 68 }, test: (e) => e is HttpException);
68 return request.done; 69 return request.done;
69 }); 70 });
70 71
72 asyncStart();
71 testClientRequest((request) { 73 testClientRequest((request) {
72 var port = new ReceivePort();
73 request.contentLength = 0; 74 request.contentLength = 0;
74 request.add(new Uint8List(64 * 1024)); 75 request.add(new Uint8List(64 * 1024));
75 request.add(new Uint8List(64 * 1024)); 76 request.add(new Uint8List(64 * 1024));
76 request.add(new Uint8List(64 * 1024)); 77 request.add(new Uint8List(64 * 1024));
77 request.close(); 78 request.close();
78 request.done.catchError((error) { 79 request.done.catchError((error) {
79 port.close(); 80 asyncEnd();
80 }, test: (e) => e is HttpException); 81 }, test: (e) => e is HttpException);
81 return request.done; 82 return request.done;
82 }); 83 });
83 } 84 }
84 85
85 void testBadResponseClose() { 86 void testBadResponseClose() {
87 asyncStart();
86 testClientRequest((request) { 88 testClientRequest((request) {
87 var port = new ReceivePort();
88 request.contentLength = 5; 89 request.contentLength = 5;
89 request.close(); 90 request.close();
90 request.done.catchError((error) { 91 request.done.catchError((error) {
91 port.close(); 92 asyncEnd();
92 }, test: (e) => e is HttpException); 93 }, test: (e) => e is HttpException);
93 return request.done; 94 return request.done;
94 }); 95 });
95 96
97 asyncStart();
96 testClientRequest((request) { 98 testClientRequest((request) {
97 var port = new ReceivePort();
98 request.contentLength = 5; 99 request.contentLength = 5;
99 request.add([0]); 100 request.add([0]);
100 request.close(); 101 request.close();
101 request.done.catchError((error) { 102 request.done.catchError((error) {
102 port.close(); 103 asyncEnd();
103 }, test: (e) => e is HttpException); 104 }, test: (e) => e is HttpException);
104 return request.done; 105 return request.done;
105 }); 106 });
106 } 107 }
107 108
108 void main() { 109 void main() {
109 testResponseDone(); 110 testResponseDone();
110 testBadResponseAdd(); 111 testBadResponseAdd();
111 testBadResponseClose(); 112 testBadResponseClose();
112 } 113 }
OLDNEW
« no previous file with comments | « tests/standalone/io/http_client_exception_test.dart ('k') | tests/standalone/io/http_reuse_server_port_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698