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

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

Issue 12504006: Make IOSink implement StringSink (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Addressed second round of review comments Created 7 years, 9 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 5
6 import "dart:async"; 6 import "dart:async";
7 import "dart:io"; 7 import "dart:io";
8 import "dart:uri"; 8 import "dart:uri";
9 9
10 void testHttp10Close(bool closeRequest) { 10 void testHttp10Close(bool closeRequest) {
11 HttpServer.bind().then((server) { 11 HttpServer.bind().then((server) {
12 server.listen((request) { 12 server.listen((request) {
13 request.response.close(); 13 request.response.close();
14 }); 14 });
15 15
16 Socket.connect("127.0.0.1", server.port) 16 Socket.connect("127.0.0.1", server.port)
17 .then((socket) { 17 .then((socket) {
18 socket.addString("GET / HTTP/1.0\r\n\r\n"); 18 socket.write("GET / HTTP/1.0\r\n\r\n");
19 socket.listen( 19 socket.listen(
20 (data) {}, 20 (data) {},
21 onDone: () { 21 onDone: () {
22 if (!closeRequest) socket.destroy(); 22 if (!closeRequest) socket.destroy();
23 server.close(); 23 server.close();
24 }); 24 });
25 if (closeRequest) socket.close(); 25 if (closeRequest) socket.close();
26 }); 26 });
27 }); 27 });
28 } 28 }
29 29
30 void testHttp11Close(bool closeRequest) { 30 void testHttp11Close(bool closeRequest) {
31 HttpServer.bind().then((server) { 31 HttpServer.bind().then((server) {
32 server.listen((request) { 32 server.listen((request) {
33 request.response.close(); 33 request.response.close();
34 }); 34 });
35 35
36 Socket.connect("127.0.0.1", server.port) 36 Socket.connect("127.0.0.1", server.port)
37 .then((socket) { 37 .then((socket) {
38 List<int> buffer = new List<int>(1024); 38 List<int> buffer = new List<int>(1024);
39 socket.addString("GET / HTTP/1.1\r\nConnection: close\r\n\r\n"); 39 socket.write("GET / HTTP/1.1\r\nConnection: close\r\n\r\n");
40 socket.listen( 40 socket.listen(
41 (data) {}, 41 (data) {},
42 onDone: () { 42 onDone: () {
43 if (!closeRequest) socket.destroy(); 43 if (!closeRequest) socket.destroy();
44 server.close(); 44 server.close();
45 }); 45 });
46 if (closeRequest) socket.close(); 46 if (closeRequest) socket.close();
47 }); 47 });
48 }); 48 });
49 } 49 }
50 50
51 void testStreamResponse() { 51 void testStreamResponse() {
52 HttpServer.bind().then((server) { 52 HttpServer.bind().then((server) {
53 server.listen((request) { 53 server.listen((request) {
54 // TODO(ajohnsen): Use timer (see old version). 54 // TODO(ajohnsen): Use timer (see old version).
55 for (int i = 0; i < 10; i++) { 55 for (int i = 0; i < 10; i++) {
56 request.response.addString( 56 request.response.write(
57 'data:${new DateTime.now().millisecondsSinceEpoch}\n\n'); 57 'data:${new DateTime.now().millisecondsSinceEpoch}\n\n');
58 } 58 }
59 }); 59 });
60 60
61 var client = new HttpClient(); 61 var client = new HttpClient();
62 client.getUrl(Uri.parse("http://127.0.0.1:${server.port}")) 62 client.getUrl(Uri.parse("http://127.0.0.1:${server.port}"))
63 .then((request) => request.close()) 63 .then((request) => request.close())
64 .then((response) { 64 .then((response) {
65 int bytes = 0; 65 int bytes = 0;
66 response.listen( 66 response.listen(
(...skipping 10 matching lines...) Expand all
77 }); 77 });
78 } 78 }
79 79
80 main() { 80 main() {
81 testHttp10Close(false); 81 testHttp10Close(false);
82 testHttp10Close(true); 82 testHttp10Close(true);
83 testHttp11Close(false); 83 testHttp11Close(false);
84 testHttp11Close(true); 84 testHttp11Close(true);
85 testStreamResponse(); 85 testStreamResponse();
86 } 86 }
OLDNEW
« no previous file with comments | « tests/standalone/io/http_close_test.dart ('k') | tests/standalone/io/http_content_length_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698