| OLD | NEW |
| 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 'dart:async'; | 5 import 'dart:async'; |
| 6 import 'dart:io'; | 6 import 'dart:io'; |
| 7 | 7 |
| 8 import "package:unittest/unittest.dart"; | 8 import "package:unittest/unittest.dart"; |
| 9 import "package:http_server/http_server.dart"; | 9 import "package:http_server/http_server.dart"; |
| 10 | 10 |
| (...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 319 return getHeaders(server.port, '/file.jpg') | 319 return getHeaders(server.port, '/file.jpg') |
| 320 .then((headers) => headers.contentType.toString()) | 320 .then((headers) => headers.contentType.toString()) |
| 321 .whenComplete(() { | 321 .whenComplete(() { |
| 322 server.close(); | 322 server.close(); |
| 323 dir.deleteSync(recursive: true); | 323 dir.deleteSync(recursive: true); |
| 324 }); | 324 }); |
| 325 }), completion(equals('image/png'))); | 325 }), completion(equals('image/png'))); |
| 326 }); | 326 }); |
| 327 }); | 327 }); |
| 328 }); | 328 }); |
| 329 |
| 330 group('error-page', () { |
| 331 test('default', () { |
| 332 expect(HttpServer.bind('localhost', 0).then((server) { |
| 333 var dir = new Directory('').createTempSync(); |
| 334 var virDir = new VirtualDirectory(dir.path); |
| 335 dir.deleteSync(); |
| 336 |
| 337 virDir.serve(server); |
| 338 |
| 339 return getAsString(server.port, '/') |
| 340 .whenComplete(() { |
| 341 server.close(); |
| 342 }); |
| 343 }), completion(matches(new RegExp('404.*Not Found')))); |
| 344 }); |
| 345 |
| 346 test('custom', () { |
| 347 expect(HttpServer.bind('localhost', 0).then((server) { |
| 348 var dir = new Directory('').createTempSync(); |
| 349 var virDir = new VirtualDirectory(dir.path); |
| 350 dir.deleteSync(); |
| 351 |
| 352 virDir.setErrorPageHandler((request) { |
| 353 request.response.write('my-page '); |
| 354 request.response.write(request.response.statusCode); |
| 355 request.response.close(); |
| 356 }); |
| 357 virDir.serve(server); |
| 358 |
| 359 return getAsString(server.port, '/') |
| 360 .whenComplete(() { |
| 361 server.close(); |
| 362 }); |
| 363 }), completion(equals('my-page 404'))); |
| 364 }); |
| 365 }); |
| 329 } | 366 } |
| 330 | 367 |
| OLD | NEW |