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

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

Issue 12328037: Add missing files from previous commit (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 10 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
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 import "dart:io";
6 import "dart:isolate";
7 import "dart:scalarlist";
8
9 void testClientRequest(void handler(request)) {
10 HttpServer.bind().then((server) {
11 server.listen((request) {
12 request.listen((_) {}, onDone: () {
13 request.response.close();
14 }, onError: (e) {});
15 });
16
17 var client = new HttpClient();
18 client.get("127.0.0.1", server.port, "/")
19 .then((request) {
20 return handler(request);
21 })
22 .then((response) {
23 response.listen((_) {}, onDone: () {
24 client.close();
25 server.close();
26 });
27 })
28 .catchError((error) {
29 server.close();
30 client.close();
31 }, test: (e) => e is HttpParserException);
32 });
33 }
34
35 void testResponseDone() {
36 testClientRequest((request) {
37 request.close();
38 request.done.then((req) {
39 Expect.equals(request, req);
40 });
41 return request.response;
42 });
43 }
44
45 void testBadResponseAdd() {
46 testClientRequest((request) {
47 var port = new ReceivePort();
48 request.contentLength = 0;
49 request.add([0]);
50 request.done.catchError((error) {
51 port.close();
52 }, test: (e) => e is HttpException);
53 return request.response;
54 });
55
56 testClientRequest((request) {
57 var port = new ReceivePort();
58 request.contentLength = 5;
59 request.add([0, 0, 0]);
60 request.add([0, 0, 0]);
61 request.done.catchError((error) {
62 port.close();
63 }, test: (e) => e is HttpException);
64 return request.response;
65 });
66
67 testClientRequest((request) {
68 var port = new ReceivePort();
69 request.contentLength = 0;
70 request.add(new Uint8List(64 * 1024));
71 request.add(new Uint8List(64 * 1024));
72 request.add(new Uint8List(64 * 1024));
73 request.done.catchError((error) {
74 port.close();
75 }, test: (e) => e is HttpException);
76 return request.response;
77 });
78 }
79
80 void testBadResponseClose() {
81 testClientRequest((request) {
82 var port = new ReceivePort();
83 request.contentLength = 5;
84 request.close();
85 request.done.catchError((error) {
86 port.close();
87 }, test: (e) => e is HttpException);
88 return request.response;
89 });
90
91 testClientRequest((request) {
92 var port = new ReceivePort();
93 request.contentLength = 5;
94 request.add([0]);
95 request.close();
96 request.done.catchError((error) {
97 port.close();
98 }, test: (e) => e is HttpException);
99 return request.response;
100 });
101 }
102
103 void main() {
104 testResponseDone();
105 testBadResponseAdd();
106 testBadResponseClose();
107 }
OLDNEW
« no previous file with comments | « tests/standalone/io/http_client_connect_test.dart ('k') | tests/standalone/io/http_client_socket_reuse_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698