| 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 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 223 .whenComplete(() { | 223 .whenComplete(() { |
| 224 server.close(); | 224 server.close(); |
| 225 dir.deleteSync(recursive: true); | 225 dir.deleteSync(recursive: true); |
| 226 }); | 226 }); |
| 227 }), completion(equals(HttpStatus.NOT_FOUND))); | 227 }), completion(equals(HttpStatus.NOT_FOUND))); |
| 228 }); | 228 }); |
| 229 }); | 229 }); |
| 230 } | 230 } |
| 231 }); | 231 }); |
| 232 | 232 |
| 233 group('last-mofidied', () { | 233 group('last-modified', () { |
| 234 group('file', () { | 234 group('file', () { |
| 235 test('file-exists', () { | 235 test('file-exists', () { |
| 236 expect(HttpServer.bind('localhost', 0).then((server) { | 236 expect(HttpServer.bind('localhost', 0).then((server) { |
| 237 var dir = new Directory('').createTempSync(); | 237 var dir = new Directory('').createTempSync(); |
| 238 var file = new File('${dir.path}/file')..createSync(); | 238 var file = new File('${dir.path}/file')..createSync(); |
| 239 var virDir = new VirtualDirectory(dir.path); | 239 var virDir = new VirtualDirectory(dir.path); |
| 240 | 240 |
| 241 virDir.serve(server); | 241 virDir.serve(server); |
| 242 | 242 |
| 243 return getHeaders(server.port, '/file') | 243 return getHeaders(server.port, '/file') |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 server.port, '/file', ifModifiedSince: lastModified); | 279 server.port, '/file', ifModifiedSince: lastModified); |
| 280 }) | 280 }) |
| 281 .whenComplete(() { | 281 .whenComplete(() { |
| 282 server.close(); | 282 server.close(); |
| 283 dir.deleteSync(recursive: true); | 283 dir.deleteSync(recursive: true); |
| 284 }); | 284 }); |
| 285 }), completion(equals(HttpStatus.OK))); | 285 }), completion(equals(HttpStatus.OK))); |
| 286 }); | 286 }); |
| 287 }); | 287 }); |
| 288 }); | 288 }); |
| 289 |
| 290 group('content-type', () { |
| 291 group('mime-type', () { |
| 292 test('from-path', () { |
| 293 expect(HttpServer.bind('localhost', 0).then((server) { |
| 294 var dir = new Directory('').createTempSync(); |
| 295 var file = new File('${dir.path}/file.jpg')..createSync(); |
| 296 var virDir = new VirtualDirectory(dir.path); |
| 297 |
| 298 virDir.serve(server); |
| 299 |
| 300 return getHeaders(server.port, '/file.jpg') |
| 301 .then((headers) => headers.contentType.toString()) |
| 302 .whenComplete(() { |
| 303 server.close(); |
| 304 dir.deleteSync(recursive: true); |
| 305 }); |
| 306 }), completion(equals('image/jpeg'))); |
| 307 }); |
| 308 |
| 309 test('from-magic-number', () { |
| 310 expect(HttpServer.bind('localhost', 0).then((server) { |
| 311 var dir = new Directory('').createTempSync(); |
| 312 var file = new File('${dir.path}/file.jpg')..createSync(); |
| 313 file.writeAsBytesSync( |
| 314 [0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A]); |
| 315 var virDir = new VirtualDirectory(dir.path); |
| 316 |
| 317 virDir.serve(server); |
| 318 |
| 319 return getHeaders(server.port, '/file.jpg') |
| 320 .then((headers) => headers.contentType.toString()) |
| 321 .whenComplete(() { |
| 322 server.close(); |
| 323 dir.deleteSync(recursive: true); |
| 324 }); |
| 325 }), completion(equals('image/png'))); |
| 326 }); |
| 327 }); |
| 328 }); |
| 289 } | 329 } |
| 290 | 330 |
| OLD | NEW |