Chromium Code Reviews| Index: pkg/http_server/test/virtual_directory_test.dart |
| diff --git a/pkg/http_server/test/virtual_directory_test.dart b/pkg/http_server/test/virtual_directory_test.dart |
| index 05f8829a8ddd784fe3e0e72fd4956830b3f52dc2..7710df2fa5959ac35289642f25b7a8377ce5ce63 100644 |
| --- a/pkg/http_server/test/virtual_directory_test.dart |
| +++ b/pkg/http_server/test/virtual_directory_test.dart |
| @@ -136,57 +136,14 @@ void main() { |
| }); |
| group('links', () { |
|
Søren Gjesse
2013/06/24 09:49:57
group is missing a predicate argument.
|
| - group('follow-links', () { |
| - test('dir-link', () { |
| - expect(HttpServer.bind('localhost', 0).then((server) { |
| - var dir = new Directory('').createTempSync(); |
| - var dir2 = new Directory('${dir.path}/dir2')..createSync(); |
| - var link = new Link('${dir.path}/dir3')..createSync('dir2'); |
| - var file = new File('${dir2.path}/file')..createSync(); |
| - var virDir = new VirtualDirectory(dir.path); |
| - virDir.followLinks = true; |
| - |
| - virDir.serve(server); |
| - |
| - return new HttpClient().get('localhost', server.port, '/dir3/file') |
| - .then((request) => request.close()) |
| - .then((response) => response.drain().then( |
| - (_) => response.statusCode)) |
| - .whenComplete(() { |
| - server.close(); |
| - dir.deleteSync(recursive: true); |
| - }); |
| - }), completion(equals(HttpStatus.OK))); |
| - }); |
| - |
| - test('root-link', () { |
| - expect(HttpServer.bind('localhost', 0).then((server) { |
| - var dir = new Directory('').createTempSync(); |
| - var link = new Link('${dir.path}/dir3')..createSync('.'); |
| - var file = new File('${dir.path}/file')..createSync(); |
| - var virDir = new VirtualDirectory(dir.path); |
| - virDir.followLinks = true; |
| - |
| - virDir.serve(server); |
| - |
| - return new HttpClient().get('localhost', server.port, '/dir3/file') |
| - .then((request) => request.close()) |
| - .then((response) => response.drain().then( |
| - (_) => response.statusCode)) |
| - .whenComplete(() { |
| - server.close(); |
| - dir.deleteSync(recursive: true); |
| - }); |
| - }), completion(equals(HttpStatus.OK))); |
| - }); |
| - |
| - group('bad-links', () { |
| - test('absolute-link', () { |
| + if (!Platform.isWindows) { |
| + group('follow-links', () { |
| + test('dir-link', () { |
| expect(HttpServer.bind('localhost', 0).then((server) { |
| var dir = new Directory('').createTempSync(); |
| - var file = new File('${dir.path}/file')..createSync(); |
| - var link = new Link('${dir.path}/dir3') |
| - ..createSync('${dir.path}/file'); |
| + var dir2 = new Directory('${dir.path}/dir2')..createSync(); |
| + var link = new Link('${dir.path}/dir3')..createSync('dir2'); |
| + var file = new File('${dir2.path}/file')..createSync(); |
| var virDir = new VirtualDirectory(dir.path); |
| virDir.followLinks = true; |
| @@ -200,16 +157,14 @@ void main() { |
| server.close(); |
| dir.deleteSync(recursive: true); |
| }); |
| - }), completion(equals(HttpStatus.NOT_FOUND))); |
| + }), completion(equals(HttpStatus.OK))); |
| }); |
| - test('relative-parent-link', () { |
| + test('root-link', () { |
| expect(HttpServer.bind('localhost', 0).then((server) { |
| var dir = new Directory('').createTempSync(); |
| - var name = new Path(dir.path).filename; |
| + var link = new Link('${dir.path}/dir3')..createSync('.'); |
| var file = new File('${dir.path}/file')..createSync(); |
| - var link = new Link('${dir.path}/dir3') |
| - ..createSync('../$name/file'); |
| var virDir = new VirtualDirectory(dir.path); |
| virDir.followLinks = true; |
| @@ -223,34 +178,85 @@ void main() { |
| server.close(); |
| dir.deleteSync(recursive: true); |
| }); |
| - }), completion(equals(HttpStatus.NOT_FOUND))); |
| + }), completion(equals(HttpStatus.OK))); |
| + }); |
| + |
| + group('bad-links', () { |
| + test('absolute-link', () { |
| + expect(HttpServer.bind('localhost', 0).then((server) { |
| + var dir = new Directory('').createTempSync(); |
| + var file = new File('${dir.path}/file')..createSync(); |
| + var link = new Link('${dir.path}/dir3') |
| + ..createSync('${dir.path}/file'); |
| + var virDir = new VirtualDirectory(dir.path); |
| + virDir.followLinks = true; |
| + |
| + virDir.serve(server); |
| + |
| + return new HttpClient().get('localhost', |
| + server.port, |
| + '/dir3/file') |
| + .then((request) => request.close()) |
| + .then((response) => response.drain().then( |
| + (_) => response.statusCode)) |
| + .whenComplete(() { |
| + server.close(); |
| + dir.deleteSync(recursive: true); |
| + }); |
| + }), completion(equals(HttpStatus.NOT_FOUND))); |
| + }); |
| + |
| + test('relative-parent-link', () { |
| + expect(HttpServer.bind('localhost', 0).then((server) { |
| + var dir = new Directory('').createTempSync(); |
| + var name = new Path(dir.path).filename; |
| + var file = new File('${dir.path}/file')..createSync(); |
| + var link = new Link('${dir.path}/dir3') |
| + ..createSync('../$name/file'); |
| + var virDir = new VirtualDirectory(dir.path); |
| + virDir.followLinks = true; |
| + |
| + virDir.serve(server); |
| + |
| + return new HttpClient().get('localhost', |
| + server.port, |
| + '/dir3/file') |
| + .then((request) => request.close()) |
| + .then((response) => response.drain().then( |
| + (_) => response.statusCode)) |
| + .whenComplete(() { |
| + server.close(); |
| + dir.deleteSync(recursive: true); |
| + }); |
| + }), completion(equals(HttpStatus.NOT_FOUND))); |
| + }); |
| }); |
| }); |
| - }); |
| - group('not-follow-links', () { |
| - test('dir-link', () { |
| - expect(HttpServer.bind('localhost', 0).then((server) { |
| - var dir = new Directory('').createTempSync(); |
| - var dir2 = new Directory('${dir.path}/dir2')..createSync(); |
| - var link = new Link('${dir.path}/dir3')..createSync('dir2'); |
| - var file = new File('${dir2.path}/file')..createSync(); |
| - var virDir = new VirtualDirectory(dir.path); |
| - virDir.followLinks = false; |
| + group('not-follow-links', () { |
| + test('dir-link', () { |
| + expect(HttpServer.bind('localhost', 0).then((server) { |
| + var dir = new Directory('').createTempSync(); |
| + var dir2 = new Directory('${dir.path}/dir2')..createSync(); |
| + var link = new Link('${dir.path}/dir3')..createSync('dir2'); |
| + var file = new File('${dir2.path}/file')..createSync(); |
| + var virDir = new VirtualDirectory(dir.path); |
| + virDir.followLinks = false; |
| - virDir.serve(server); |
| + virDir.serve(server); |
| - return new HttpClient().get('localhost', server.port, '/dir3/file') |
| - .then((request) => request.close()) |
| - .then((response) => response.drain().then( |
| - (_) => response.statusCode)) |
| - .whenComplete(() { |
| - server.close(); |
| - dir.deleteSync(recursive: true); |
| - }); |
| - }), completion(equals(HttpStatus.NOT_FOUND))); |
| + return new HttpClient().get('localhost', server.port, '/dir3/file') |
| + .then((request) => request.close()) |
| + .then((response) => response.drain().then( |
| + (_) => response.statusCode)) |
| + .whenComplete(() { |
| + server.close(); |
| + dir.deleteSync(recursive: true); |
| + }); |
| + }), completion(equals(HttpStatus.NOT_FOUND))); |
| + }); |
| }); |
| - }); |
| + } |
| }); |
| } |