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

Side by Side Diff: tests/standalone/io/http_client_connect_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 // VMOptions=
6 // VMOptions=--short_socket_read
7 // VMOptions=--short_socket_write
8 // VMOptions=--short_socket_read --short_socket_write
9
10 import 'dart:async';
11 import 'dart:io';
12 import 'dart:isolate';
13
14 void testGetEmptyRequest() {
15 HttpServer.bind().then((server) {
16 server.listen((request) {
17 request.pipe(request.response);
18 });
19
20 var client = new HttpClient();
21 client.get("127.0.0.1", server.port, "/")
22 .then((request) => request.close())
23 .then((response) {
24 response.listen(
25 (data) {},
26 onDone: server.close);
27 });
28 });
29 }
30
31 void testGetDataRequest() {
32 HttpServer.bind().then((server) {
33 var data = "lalala".charCodes;
34 server.listen((request) {
35 request.response.add(data);
36 request.pipe(request.response);
37 });
38
39 var client = new HttpClient();
40 client.get("127.0.0.1", server.port, "/")
41 .then((request) => request.close())
42 .then((response) {
43 int count = 0;
44 response.listen(
45 (data) => count += data.length,
46 onDone: () {
47 server.close();
48 Expect.equals(data.length, count);
49 });
50 });
51 });
52 }
53
54 void testGetInvalidHost() {
55 var port = new ReceivePort();
56 var client = new HttpClient();
57 client.get("__SOMETHING_INVALID__", 8888, "/")
58 .catchError((error) {
59 port.close();
60 client.close();
61 });
62 }
63
64 void testGetServerClose() {
65 HttpServer.bind().then((server) {
66 server.listen((request) {
67 server.close();
68 });
69
70 var port = new ReceivePort();
71 var client = new HttpClient();
72 client.get("127.0.0.1", server.port, "/")
73 .then((request) => request.close())
74 .then((response) {
75 Expect.fail("Request not expected");
76 })
77 .catchError((error) => port.close(),
78 test: (error) => error is HttpParserException);
79 });
80 }
81
82 void testGetDataServerClose() {
83 var completer = new Completer();
84 HttpServer.bind().then((server) {
85 server.listen((request) {
86 request.response.contentLength = 100;
87 request.response.addString("data");
88 request.response.addString("more data");
89 completer.future.then((_) => server.close());
90 });
91
92 var port = new ReceivePort();
93 var client = new HttpClient();
94 client.get("127.0.0.1", server.port, "/")
95 .then((request) => request.close())
96 .then((response) {
97 // Close the (incomplete) response, now we have seen the response object .
98 completer.complete(null);
99 int errors = 0;
100 response.listen(
101 (data) {},
102 onError: (error) => errors++,
103 onDone: () {
104 port.close();
105 Expect.equals(1, errors);
106 });
107 });
108 });
109 }
110
111 void testPostEmptyRequest() {
112 HttpServer.bind().then((server) {
113 server.listen((request) {
114 request.pipe(request.response);
115 });
116
117 var client = new HttpClient();
118 client.post("127.0.0.1", server.port, "/")
119 .then((request) => request.close())
120 .then((response) {
121 response.listen((data) {}, onDone: server.close);
122 });
123 });
124 }
125
126
127 void main() {
128 testGetEmptyRequest();
129 testGetDataRequest();
130 testGetInvalidHost();
131 testGetServerClose();
132 testGetDataServerClose();
133 testPostEmptyRequest();
134 }
OLDNEW
« no previous file with comments | « tests/standalone/io/delete_symlink_test.dart ('k') | tests/standalone/io/http_client_request_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698