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

Side by Side Diff: tests/standalone/src/HttpTest.dart

Issue 9500002: Rename blahHandler to onBlah throughout dart:io. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Renaming Created 8 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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("dart:isolate"); 10 #import("dart:isolate");
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 // Echo the request content back to the response. 95 // Echo the request content back to the response.
96 void _echoHandler(HttpRequest request, HttpResponse response) { 96 void _echoHandler(HttpRequest request, HttpResponse response) {
97 Expect.equals("POST", request.method); 97 Expect.equals("POST", request.method);
98 response.contentLength = request.contentLength; 98 response.contentLength = request.contentLength;
99 request.inputStream.pipe(response.outputStream); 99 request.inputStream.pipe(response.outputStream);
100 } 100 }
101 101
102 // Echo the request content back to the response. 102 // Echo the request content back to the response.
103 void _zeroToTenHandler(HttpRequest request, HttpResponse response) { 103 void _zeroToTenHandler(HttpRequest request, HttpResponse response) {
104 Expect.equals("GET", request.method); 104 Expect.equals("GET", request.method);
105 request.inputStream.dataHandler = () {}; 105 request.inputStream.onData = () {};
106 request.inputStream.closeHandler = () { 106 request.inputStream.onClosed = () {
107 response.writeString("01234567890"); 107 response.writeString("01234567890");
108 response.outputStream.close(); 108 response.outputStream.close();
109 }; 109 };
110 } 110 }
111 111
112 // Return a 404. 112 // Return a 404.
113 void _notFoundHandler(HttpRequest request, HttpResponse response) { 113 void _notFoundHandler(HttpRequest request, HttpResponse response) {
114 response.statusCode = HttpStatus.NOT_FOUND; 114 response.statusCode = HttpStatus.NOT_FOUND;
115 response.setHeader("Content-Type", "text/html; charset=UTF-8"); 115 response.setHeader("Content-Type", "text/html; charset=UTF-8");
116 response.writeString("Page not found"); 116 response.writeString("Page not found");
117 response.outputStream.close(); 117 response.outputStream.close();
118 } 118 }
119 119
120 void main() { 120 void main() {
121 // Setup request handlers. 121 // Setup request handlers.
122 _requestHandlers = new Map(); 122 _requestHandlers = new Map();
123 _requestHandlers["/echo"] = (HttpRequest request, HttpResponse response) { 123 _requestHandlers["/echo"] = (HttpRequest request, HttpResponse response) {
124 _echoHandler(request, response); 124 _echoHandler(request, response);
125 }; 125 };
126 _requestHandlers["/0123456789"] = 126 _requestHandlers["/0123456789"] =
127 (HttpRequest request, HttpResponse response) { 127 (HttpRequest request, HttpResponse response) {
128 _zeroToTenHandler(request, response); 128 _zeroToTenHandler(request, response);
129 }; 129 };
130 130
131 this.port.receive((var message, SendPort replyTo) { 131 this.port.receive((var message, SendPort replyTo) {
132 if (message.isStart) { 132 if (message.isStart) {
133 _server = new HttpServer(); 133 _server = new HttpServer();
134 try { 134 try {
135 _server.listen("127.0.0.1", 0); 135 _server.listen("127.0.0.1", 0);
136 _server.requestHandler = (HttpRequest req, HttpResponse rsp) { 136 _server.onRequest = (HttpRequest req, HttpResponse rsp) {
137 _requestReceivedHandler(req, rsp); 137 _requestReceivedHandler(req, rsp);
138 }; 138 };
139 replyTo.send(new TestServerStatus.started(_server.port), null); 139 replyTo.send(new TestServerStatus.started(_server.port), null);
140 } catch (var e) { 140 } catch (var e) {
141 replyTo.send(new TestServerStatus.error(), null); 141 replyTo.send(new TestServerStatus.error(), null);
142 } 142 }
143 } else if (message.isStop) { 143 } else if (message.isStop) {
144 _server.close(); 144 _server.close();
145 this.port.close(); 145 this.port.close();
146 replyTo.send(new TestServerStatus.stopped(), null); 146 replyTo.send(new TestServerStatus.stopped(), null);
(...skipping 26 matching lines...) Expand all
173 testServerMain.start(); 173 testServerMain.start();
174 } 174 }
175 175
176 176
177 void testGET() { 177 void testGET() {
178 TestServerMain testServerMain = new TestServerMain(); 178 TestServerMain testServerMain = new TestServerMain();
179 testServerMain.setServerStartedHandler((int port) { 179 testServerMain.setServerStartedHandler((int port) {
180 HttpClient httpClient = new HttpClient(); 180 HttpClient httpClient = new HttpClient();
181 HttpClientConnection conn = 181 HttpClientConnection conn =
182 httpClient.get("127.0.0.1", port, "/0123456789"); 182 httpClient.get("127.0.0.1", port, "/0123456789");
183 conn.responseHandler = (HttpClientResponse response) { 183 conn.onResponse = (HttpClientResponse response) {
184 Expect.equals(HttpStatus.OK, response.statusCode); 184 Expect.equals(HttpStatus.OK, response.statusCode);
185 StringInputStream stream = new StringInputStream(response.inputStream); 185 StringInputStream stream = new StringInputStream(response.inputStream);
186 StringBuffer body = new StringBuffer(); 186 StringBuffer body = new StringBuffer();
187 stream.dataHandler = () => body.add(stream.read()); 187 stream.onData = () => body.add(stream.read());
188 stream.closeHandler = () { 188 stream.onClosed = () {
189 Expect.equals("01234567890", body.toString()); 189 Expect.equals("01234567890", body.toString());
190 httpClient.shutdown(); 190 httpClient.shutdown();
191 testServerMain.shutdown(); 191 testServerMain.shutdown();
192 }; 192 };
193 }; 193 };
194 }); 194 });
195 testServerMain.start(); 195 testServerMain.start();
196 } 196 }
197 197
198 198
199 void testPOST(bool chunkedEncoding) { 199 void testPOST(bool chunkedEncoding) {
200 String data = "ABCDEFGHIJKLMONPQRSTUVWXYZ"; 200 String data = "ABCDEFGHIJKLMONPQRSTUVWXYZ";
201 final int kMessageCount = 10; 201 final int kMessageCount = 10;
202 202
203 TestServerMain testServerMain = new TestServerMain(); 203 TestServerMain testServerMain = new TestServerMain();
204 204
205 void runTest(int port) { 205 void runTest(int port) {
206 int count = 0; 206 int count = 0;
207 HttpClient httpClient = new HttpClient(); 207 HttpClient httpClient = new HttpClient();
208 void sendRequest() { 208 void sendRequest() {
209 HttpClientConnection conn = 209 HttpClientConnection conn =
210 httpClient.post("127.0.0.1", port, "/echo"); 210 httpClient.post("127.0.0.1", port, "/echo");
211 conn.requestHandler = (HttpClientRequest request) { 211 conn.onRequest = (HttpClientRequest request) {
212 if (chunkedEncoding) { 212 if (chunkedEncoding) {
213 request.writeString(data.substring(0, 10)); 213 request.writeString(data.substring(0, 10));
214 request.writeString(data.substring(10, data.length)); 214 request.writeString(data.substring(10, data.length));
215 } else { 215 } else {
216 request.contentLength = data.length; 216 request.contentLength = data.length;
217 request.outputStream.write(data.charCodes()); 217 request.outputStream.write(data.charCodes());
218 } 218 }
219 request.outputStream.close(); 219 request.outputStream.close();
220 }; 220 };
221 conn.responseHandler = (HttpClientResponse response) { 221 conn.onResponse = (HttpClientResponse response) {
222 Expect.equals(HttpStatus.OK, response.statusCode); 222 Expect.equals(HttpStatus.OK, response.statusCode);
223 StringInputStream stream = new StringInputStream(response.inputStream); 223 StringInputStream stream = new StringInputStream(response.inputStream);
224 StringBuffer body = new StringBuffer(); 224 StringBuffer body = new StringBuffer();
225 stream.dataHandler = () => body.add(stream.read()); 225 stream.onData = () => body.add(stream.read());
226 stream.closeHandler = () { 226 stream.onClosed = () {
227 Expect.equals(data, body.toString()); 227 Expect.equals(data, body.toString());
228 count++; 228 count++;
229 if (count < kMessageCount) { 229 if (count < kMessageCount) {
230 sendRequest(); 230 sendRequest();
231 } else { 231 } else {
232 httpClient.shutdown(); 232 httpClient.shutdown();
233 testServerMain.shutdown(); 233 testServerMain.shutdown();
234 } 234 }
235 }; 235 };
236 }; 236 };
(...skipping 15 matching lines...) Expand all
252 final int kMessageCount = 10; 252 final int kMessageCount = 10;
253 253
254 TestServerMain testServerMain = new TestServerMain(); 254 TestServerMain testServerMain = new TestServerMain();
255 255
256 void runTest(int port) { 256 void runTest(int port) {
257 int count = 0; 257 int count = 0;
258 HttpClient httpClient = new HttpClient(); 258 HttpClient httpClient = new HttpClient();
259 void sendRequest() { 259 void sendRequest() {
260 HttpClientConnection conn = 260 HttpClientConnection conn =
261 httpClient.post("127.0.0.1", port, "/echo"); 261 httpClient.post("127.0.0.1", port, "/echo");
262 conn.requestHandler = (HttpClientRequest request) { 262 conn.onRequest = (HttpClientRequest request) {
263 if (chunkedEncoding) { 263 if (chunkedEncoding) {
264 request.writeString(data.substring(0, 10)); 264 request.writeString(data.substring(0, 10));
265 request.writeString(data.substring(10, data.length)); 265 request.writeString(data.substring(10, data.length));
266 } else { 266 } else {
267 request.contentLength = data.length; 267 request.contentLength = data.length;
268 request.outputStream.write(data.charCodes()); 268 request.outputStream.write(data.charCodes());
269 } 269 }
270 request.outputStream.close(); 270 request.outputStream.close();
271 }; 271 };
272 conn.responseHandler = (HttpClientResponse response) { 272 conn.onResponse = (HttpClientResponse response) {
273 Expect.equals(HttpStatus.OK, response.statusCode); 273 Expect.equals(HttpStatus.OK, response.statusCode);
274 InputStream stream = response.inputStream; 274 InputStream stream = response.inputStream;
275 List<int> body = new List<int>(); 275 List<int> body = new List<int>();
276 stream.dataHandler = () { 276 stream.onData = () {
277 List tmp = new List(3); 277 List tmp = new List(3);
278 int bytes = stream.readInto(tmp); 278 int bytes = stream.readInto(tmp);
279 body.addAll(tmp.getRange(0, bytes)); 279 body.addAll(tmp.getRange(0, bytes));
280 }; 280 };
281 stream.closeHandler = () { 281 stream.onClosed = () {
282 Expect.equals(data, new String.fromCharCodes(body)); 282 Expect.equals(data, new String.fromCharCodes(body));
283 count++; 283 count++;
284 if (count < kMessageCount) { 284 if (count < kMessageCount) {
285 sendRequest(); 285 sendRequest();
286 } else { 286 } else {
287 httpClient.shutdown(); 287 httpClient.shutdown();
288 testServerMain.shutdown(); 288 testServerMain.shutdown();
289 } 289 }
290 }; 290 };
291 }; 291 };
(...skipping 15 matching lines...) Expand all
307 final int kMessageCount = 10; 307 final int kMessageCount = 10;
308 308
309 TestServerMain testServerMain = new TestServerMain(); 309 TestServerMain testServerMain = new TestServerMain();
310 310
311 void runTest(int port) { 311 void runTest(int port) {
312 int count = 0; 312 int count = 0;
313 HttpClient httpClient = new HttpClient(); 313 HttpClient httpClient = new HttpClient();
314 void sendRequest() { 314 void sendRequest() {
315 HttpClientConnection conn = 315 HttpClientConnection conn =
316 httpClient.post("127.0.0.1", port, "/echo"); 316 httpClient.post("127.0.0.1", port, "/echo");
317 conn.requestHandler = (HttpClientRequest request) { 317 conn.onRequest = (HttpClientRequest request) {
318 if (chunkedEncoding) { 318 if (chunkedEncoding) {
319 request.writeString(data.substring(0, 10)); 319 request.writeString(data.substring(0, 10));
320 request.writeString(data.substring(10, data.length)); 320 request.writeString(data.substring(10, data.length));
321 } else { 321 } else {
322 request.contentLength = data.length; 322 request.contentLength = data.length;
323 request.outputStream.write(data.charCodes()); 323 request.outputStream.write(data.charCodes());
324 } 324 }
325 request.outputStream.close(); 325 request.outputStream.close();
326 }; 326 };
327 conn.responseHandler = (HttpClientResponse response) { 327 conn.onResponse = (HttpClientResponse response) {
328 Expect.equals(HttpStatus.OK, response.statusCode); 328 Expect.equals(HttpStatus.OK, response.statusCode);
329 InputStream stream = response.inputStream; 329 InputStream stream = response.inputStream;
330 List<int> body = new List<int>(); 330 List<int> body = new List<int>();
331 stream.dataHandler = () { 331 stream.onData = () {
332 List tmp = stream.read(2); 332 List tmp = stream.read(2);
333 body.addAll(tmp); 333 body.addAll(tmp);
334 }; 334 };
335 stream.closeHandler = () { 335 stream.onClosed = () {
336 Expect.equals(data, new String.fromCharCodes(body)); 336 Expect.equals(data, new String.fromCharCodes(body));
337 count++; 337 count++;
338 if (count < kMessageCount) { 338 if (count < kMessageCount) {
339 sendRequest(); 339 sendRequest();
340 } else { 340 } else {
341 httpClient.shutdown(); 341 httpClient.shutdown();
342 testServerMain.shutdown(); 342 testServerMain.shutdown();
343 } 343 }
344 }; 344 };
345 }; 345 };
346 } 346 }
347 347
348 sendRequest(); 348 sendRequest();
349 } 349 }
350 350
351 testServerMain.setServerStartedHandler(runTest); 351 testServerMain.setServerStartedHandler(runTest);
352 if (chunkedEncoding) { 352 if (chunkedEncoding) {
353 testServerMain.chunkedEncoding(); 353 testServerMain.chunkedEncoding();
354 } 354 }
355 testServerMain.start(); 355 testServerMain.start();
356 } 356 }
357 357
358 358
359 void test404() { 359 void test404() {
360 TestServerMain testServerMain = new TestServerMain(); 360 TestServerMain testServerMain = new TestServerMain();
361 testServerMain.setServerStartedHandler((int port) { 361 testServerMain.setServerStartedHandler((int port) {
362 HttpClient httpClient = new HttpClient(); 362 HttpClient httpClient = new HttpClient();
363 HttpClientConnection conn = 363 HttpClientConnection conn =
364 httpClient.get("127.0.0.1", port, "/thisisnotfound"); 364 httpClient.get("127.0.0.1", port, "/thisisnotfound");
365 conn.responseHandler = (HttpClientResponse response) { 365 conn.onResponse = (HttpClientResponse response) {
366 Expect.equals(HttpStatus.NOT_FOUND, response.statusCode); 366 Expect.equals(HttpStatus.NOT_FOUND, response.statusCode);
367 httpClient.shutdown(); 367 httpClient.shutdown();
368 testServerMain.shutdown(); 368 testServerMain.shutdown();
369 }; 369 };
370 }); 370 });
371 testServerMain.start(); 371 testServerMain.start();
372 } 372 }
373 373
374 374
375 void main() { 375 void main() {
376 testStartStop(); 376 testStartStop();
377 testGET(); 377 testGET();
378 testPOST(true); 378 testPOST(true);
379 testPOST(false); 379 testPOST(false);
380 testReadInto(true); 380 testReadInto(true);
381 testReadInto(false); 381 testReadInto(false);
382 testReadShort(true); 382 testReadShort(true);
383 testReadShort(false); 383 testReadShort(false);
384 test404(); 384 test404();
385 } 385 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698