No scheduled test (#23)
* Stop using scheduled_test
* delete test/test_all.dart
* cleanup travis file
* review comments
diff --git a/.travis.yml b/.travis.yml
index 93b8adb..63f5e5e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,14 +1,22 @@
language: dart
-sudo: false
+
dart:
- dev
- stable
- - 1.23.0
- - 1.22.1
-cache:
- directories:
- - $HOME/.pub-cache
+
dart_task:
- - test: --platform vm
- - dartfmt
+ - test
- dartanalyzer
+
+matrix:
+ include:
+ - dart: dev
+ dart_task: dartfmt
+
+# Only building master means that we don't run two builds for each pull request.
+branches:
+ only: [master]
+
+cache:
+ directories:
+ - $HOME/.pub-cache
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0586420..a9a3f4f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,6 @@
-## 0.2.6-dev
+## 0.2.7
-* Remove unused imports.
+* Require at least Dart SDK 1.24.0.
## 0.2.6
diff --git a/pubspec.yaml b/pubspec.yaml
index 9861dcb..5b4a206 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,10 +1,10 @@
name: shelf_static
-version: 0.2.6
+version: 0.2.7-dev
author: Dart Team <misc@dartlang.org>
description: Static file server support for Shelf
homepage: https://github.com/dart-lang/shelf_static
environment:
- sdk: '>=1.22.0 <2.0.0'
+ sdk: '>=1.24.0 <2.0.0'
dependencies:
convert: '>=1.0.0 <3.0.0'
http_parser: '>=0.0.2+2 <4.0.0'
@@ -12,6 +12,7 @@
path: '>=1.1.0 <2.0.0'
shelf: '>=0.5.7 <0.8.0'
dev_dependencies:
- args: '>=0.12.0 <0.14.0'
- scheduled_test: '>=0.12.0 <0.13.0'
+ args: '^1.0.0'
test: '>=0.12.0 <0.13.0'
+ test_descriptor: '^1.0.0'
+
diff --git a/test/alternative_root_test.dart b/test/alternative_root_test.dart
index 4b7852d..a1095a1 100644
--- a/test/alternative_root_test.dart
+++ b/test/alternative_root_test.dart
@@ -3,94 +3,66 @@
// BSD-style license that can be found in the LICENSE file.
import 'dart:io';
-import 'package:scheduled_test/descriptor.dart' as d;
-import 'package:scheduled_test/scheduled_test.dart';
+import 'package:test_descriptor/test_descriptor.dart' as d;
+import 'package:test/test.dart';
import 'package:shelf_static/shelf_static.dart';
import 'test_util.dart';
void main() {
- setUp(() {
- var tempDir;
- schedule(() {
- return Directory.systemTemp.createTemp('shelf_static-test-').then((dir) {
- tempDir = dir;
- d.defaultRoot = tempDir.path;
- });
- });
-
- d.file('root.txt', 'root txt').create();
- d.dir('files', [
+ setUp(() async {
+ await d.file('root.txt', 'root txt').create();
+ await d.dir('files', [
d.file('test.txt', 'test txt content'),
d.file('with space.txt', 'with space content')
]).create();
-
- currentSchedule.onComplete.schedule(() {
- d.defaultRoot = null;
- return tempDir.delete(recursive: true);
- });
});
- test('access root file', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('access root file', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/static/root.txt', handlerPath: 'static')
- .then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 8);
- expect(response.readAsString(), completion('root txt'));
- });
- });
+ var response =
+ await makeRequest(handler, '/static/root.txt', handlerPath: 'static');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 8);
+ expect(response.readAsString(), completion('root txt'));
});
- test('access root file with space', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('access root file with space', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/static/files/with%20space.txt',
- handlerPath: 'static').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 18);
- expect(response.readAsString(), completion('with space content'));
- });
- });
+ var response = await makeRequest(handler, '/static/files/with%20space.txt',
+ handlerPath: 'static');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 18);
+ expect(response.readAsString(), completion('with space content'));
});
- test('access root file with unencoded space', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('access root file with unencoded space', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/static/files/with%20space.txt',
- handlerPath: 'static').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 18);
- expect(response.readAsString(), completion('with space content'));
- });
- });
+ var response = await makeRequest(handler, '/static/files/with%20space.txt',
+ handlerPath: 'static');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 18);
+ expect(response.readAsString(), completion('with space content'));
});
- test('access file under directory', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('access file under directory', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/static/files/test.txt',
- handlerPath: 'static').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 16);
- expect(response.readAsString(), completion('test txt content'));
- });
- });
+ var response = await makeRequest(handler, '/static/files/test.txt',
+ handlerPath: 'static');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 16);
+ expect(response.readAsString(), completion('test txt content'));
});
- test('file not found', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('file not found', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/static/not_here.txt', handlerPath: 'static')
- .then((response) {
- expect(response.statusCode, HttpStatus.NOT_FOUND);
- });
- });
+ var response = await makeRequest(handler, '/static/not_here.txt',
+ handlerPath: 'static');
+ expect(response.statusCode, HttpStatus.NOT_FOUND);
});
}
diff --git a/test/basic_file_test.dart b/test/basic_file_test.dart
index 4511243..17f8018 100644
--- a/test/basic_file_test.dart
+++ b/test/basic_file_test.dart
@@ -8,25 +8,17 @@
import 'package:http_parser/http_parser.dart';
import 'package:mime/mime.dart' as mime;
import 'package:path/path.dart' as p;
-import 'package:scheduled_test/descriptor.dart' as d;
-import 'package:scheduled_test/scheduled_test.dart';
+import 'package:test_descriptor/test_descriptor.dart' as d;
+import 'package:test/test.dart';
import 'package:shelf_static/shelf_static.dart';
import 'test_util.dart';
void main() {
- setUp(() {
- var tempDir;
- schedule(() {
- return Directory.systemTemp.createTemp('shelf_static-test-').then((dir) {
- tempDir = dir;
- d.defaultRoot = tempDir.path;
- });
- });
-
- d.file('index.html', '<html></html>').create();
- d.file('root.txt', 'root txt').create();
- d.file('random.unknown', 'no clue').create();
+ setUp(() async {
+ await d.file('index.html', '<html></html>').create();
+ await d.file('root.txt', 'root txt').create();
+ await d.file('random.unknown', 'no clue').create();
var pngBytesContent =
r"iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAABmJLR0QA/wD/AP+gvae"
@@ -39,213 +31,163 @@
var webpBytesContent =
r"UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoBAAEAAQAcJaQAA3AA/v3AgAA=";
- d.dir('files', [
+ await d.dir('files', [
d.file('test.txt', 'test txt content'),
d.file('with space.txt', 'with space content'),
- d.binaryFile('header_bytes_test_image', BASE64.decode(pngBytesContent)),
- d.binaryFile('header_bytes_test_webp', BASE64.decode(webpBytesContent))
+ d.file('header_bytes_test_image', BASE64.decode(pngBytesContent)),
+ d.file('header_bytes_test_webp', BASE64.decode(webpBytesContent))
]).create();
-
- currentSchedule.onComplete.schedule(() {
- d.defaultRoot = null;
- return tempDir.delete(recursive: true);
- });
});
- test('access root file', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('access root file', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/root.txt').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 8);
- expect(response.readAsString(), completion('root txt'));
- });
- });
+ var response = await makeRequest(handler, '/root.txt');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 8);
+ expect(response.readAsString(), completion('root txt'));
});
- test('access root file with space', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('access root file with space', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/files/with%20space.txt').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 18);
- expect(response.readAsString(), completion('with space content'));
- });
- });
+ var response = await makeRequest(handler, '/files/with%20space.txt');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 18);
+ expect(response.readAsString(), completion('with space content'));
});
- test('access root file with unencoded space', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('access root file with unencoded space', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/files/with%20space.txt').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 18);
- expect(response.readAsString(), completion('with space content'));
- });
- });
+ var response = await makeRequest(handler, '/files/with%20space.txt');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 18);
+ expect(response.readAsString(), completion('with space content'));
});
- test('access file under directory', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('access file under directory', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/files/test.txt').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 16);
- expect(response.readAsString(), completion('test txt content'));
- });
- });
+ var response = await makeRequest(handler, '/files/test.txt');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 16);
+ expect(response.readAsString(), completion('test txt content'));
});
- test('file not found', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('file not found', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/not_here.txt').then((response) {
- expect(response.statusCode, HttpStatus.NOT_FOUND);
- });
- });
+ var response = await makeRequest(handler, '/not_here.txt');
+ expect(response.statusCode, HttpStatus.NOT_FOUND);
});
- test('last modified', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('last modified', () async {
+ var handler = createStaticHandler(d.sandbox);
- var rootPath = p.join(d.defaultRoot, 'root.txt');
- var modified = new File(rootPath).statSync().changed.toUtc();
+ var rootPath = p.join(d.sandbox, 'root.txt');
+ var modified = new File(rootPath).statSync().changed.toUtc();
- return makeRequest(handler, '/root.txt').then((response) {
- expect(response.lastModified, atSameTimeToSecond(modified));
- });
- });
+ var response = await makeRequest(handler, '/root.txt');
+ expect(response.lastModified, atSameTimeToSecond(modified));
});
group('if modified since', () {
- test('same as last modified', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('same as last modified', () async {
+ var handler = createStaticHandler(d.sandbox);
- var rootPath = p.join(d.defaultRoot, 'root.txt');
- var modified = new File(rootPath).statSync().changed.toUtc();
+ var rootPath = p.join(d.sandbox, 'root.txt');
+ var modified = new File(rootPath).statSync().changed.toUtc();
- var headers = {HttpHeaders.IF_MODIFIED_SINCE: formatHttpDate(modified)};
+ var headers = {HttpHeaders.IF_MODIFIED_SINCE: formatHttpDate(modified)};
- return makeRequest(handler, '/root.txt', headers: headers)
- .then((response) {
- expect(response.statusCode, HttpStatus.NOT_MODIFIED);
- expect(response.contentLength, 0);
- });
- });
+ var response = await makeRequest(handler, '/root.txt', headers: headers);
+ expect(response.statusCode, HttpStatus.NOT_MODIFIED);
+ expect(response.contentLength, 0);
});
- test('before last modified', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('before last modified', () async {
+ var handler = createStaticHandler(d.sandbox);
- var rootPath = p.join(d.defaultRoot, 'root.txt');
- var modified = new File(rootPath).statSync().changed.toUtc();
+ var rootPath = p.join(d.sandbox, 'root.txt');
+ var modified = new File(rootPath).statSync().changed.toUtc();
- var headers = {
- HttpHeaders.IF_MODIFIED_SINCE:
- formatHttpDate(modified.subtract(const Duration(seconds: 1)))
- };
+ var headers = {
+ HttpHeaders.IF_MODIFIED_SINCE:
+ formatHttpDate(modified.subtract(const Duration(seconds: 1)))
+ };
- return makeRequest(handler, '/root.txt', headers: headers)
- .then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.lastModified, atSameTimeToSecond(modified));
- });
- });
+ var response = await makeRequest(handler, '/root.txt', headers: headers);
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.lastModified, atSameTimeToSecond(modified));
});
- test('after last modified', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('after last modified', () async {
+ var handler = createStaticHandler(d.sandbox);
- var rootPath = p.join(d.defaultRoot, 'root.txt');
- var modified = new File(rootPath).statSync().changed.toUtc();
+ var rootPath = p.join(d.sandbox, 'root.txt');
+ var modified = new File(rootPath).statSync().changed.toUtc();
- var headers = {
- HttpHeaders.IF_MODIFIED_SINCE:
- formatHttpDate(modified.add(const Duration(seconds: 1)))
- };
+ var headers = {
+ HttpHeaders.IF_MODIFIED_SINCE:
+ formatHttpDate(modified.add(const Duration(seconds: 1)))
+ };
- return makeRequest(handler, '/root.txt', headers: headers)
- .then((response) {
- expect(response.statusCode, HttpStatus.NOT_MODIFIED);
- expect(response.contentLength, 0);
- });
- });
+ var response = await makeRequest(handler, '/root.txt', headers: headers);
+ expect(response.statusCode, HttpStatus.NOT_MODIFIED);
+ expect(response.contentLength, 0);
});
});
group('content type', () {
- test('root.txt should be text/plain', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('root.txt should be text/plain', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/root.txt').then((response) {
- expect(response.mimeType, 'text/plain');
- });
- });
+ var response = await makeRequest(handler, '/root.txt');
+ expect(response.mimeType, 'text/plain');
});
- test('index.html should be text/html', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('index.html should be text/html', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/index.html').then((response) {
- expect(response.mimeType, 'text/html');
- });
- });
+ var response = await makeRequest(handler, '/index.html');
+ expect(response.mimeType, 'text/html');
});
- test('random.unknown should be null', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('random.unknown should be null', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/random.unknown').then((response) {
- expect(response.mimeType, isNull);
- });
- });
+ var response = await makeRequest(handler, '/random.unknown');
+ expect(response.mimeType, isNull);
});
- test('header_bytes_test_image should be image/png', () {
- schedule(() {
- final dynamic handler = createStaticHandler(d.defaultRoot,
- useHeaderBytesForContentType: true);
+ test('header_bytes_test_image should be image/png', () async {
+ final handler =
+ createStaticHandler(d.sandbox, useHeaderBytesForContentType: true);
- return makeRequest(handler, '/files/header_bytes_test_image')
- .then((response) {
- expect(response.mimeType, "image/png");
- });
- });
+ var response =
+ await makeRequest(handler, '/files/header_bytes_test_image');
+ expect(response.mimeType, "image/png");
});
- test('header_bytes_test_webp should be image/webp', () {
- schedule(() {
- final mime.MimeTypeResolver resolver = new mime.MimeTypeResolver();
- resolver.addMagicNumber(
- <int>[
- 0x52, 0x49, 0x46, 0x46, 0x00, 0x00, //
- 0x00, 0x00, 0x57, 0x45, 0x42, 0x50
- ],
- "image/webp",
- mask: <int>[
- 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, //
- 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
- ]);
- final dynamic handler = createStaticHandler(d.defaultRoot,
- useHeaderBytesForContentType: true, contentTypeResolver: resolver);
+ test('header_bytes_test_webp should be image/webp', () async {
+ final mime.MimeTypeResolver resolver = new mime.MimeTypeResolver();
+ resolver.addMagicNumber(
+ <int>[
+ 0x52, 0x49, 0x46, 0x46, 0x00, 0x00, //
+ 0x00, 0x00, 0x57, 0x45, 0x42, 0x50
+ ],
+ "image/webp",
+ mask: <int>[
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, //
+ 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
+ ]);
+ final handler = createStaticHandler(d.sandbox,
+ useHeaderBytesForContentType: true, contentTypeResolver: resolver);
- return makeRequest(handler, '/files/header_bytes_test_webp')
- .then((response) {
- expect(response.mimeType, "image/webp");
- });
- });
+ var response =
+ await makeRequest(handler, '/files/header_bytes_test_webp');
+ expect(response.mimeType, "image/webp");
});
});
}
diff --git a/test/create_file_handler_test.dart b/test/create_file_handler_test.dart
index 676ab57..26a6da9 100644
--- a/test/create_file_handler_test.dart
+++ b/test/create_file_handler_test.dart
@@ -5,107 +5,81 @@
import 'dart:io';
import 'package:path/path.dart' as p;
-import 'package:scheduled_test/descriptor.dart' as d;
-import 'package:scheduled_test/scheduled_test.dart';
+import 'package:test_descriptor/test_descriptor.dart' as d;
+import 'package:test/test.dart';
import 'package:shelf_static/shelf_static.dart';
import 'test_util.dart';
void main() {
- var tempDir;
- setUp(() {
- schedule(() async {
- tempDir =
- (await Directory.systemTemp.createTemp('shelf_static-test-')).path;
- d.defaultRoot = tempDir;
- });
-
- d.file('file.txt', 'contents').create();
- d.file('random.unknown', 'no clue').create();
-
- currentSchedule.onComplete.schedule(() async {
- d.defaultRoot = null;
- await new Directory(tempDir).delete(recursive: true);
- });
+ setUp(() async {
+ await d.file('file.txt', 'contents').create();
+ await d.file('random.unknown', 'no clue').create();
});
- test('serves the file contents', () {
- schedule(() async {
- var handler = createFileHandler(p.join(tempDir, 'file.txt'));
- var response = await makeRequest(handler, '/file.txt');
- expect(response.statusCode, equals(HttpStatus.OK));
- expect(response.contentLength, equals(8));
- expect(response.readAsString(), completion(equals('contents')));
- });
+ test('serves the file contents', () async {
+ var handler = createFileHandler(p.join(d.sandbox, 'file.txt'));
+ var response = await makeRequest(handler, '/file.txt');
+ expect(response.statusCode, equals(HttpStatus.OK));
+ expect(response.contentLength, equals(8));
+ expect(response.readAsString(), completion(equals('contents')));
});
- test('serves a 404 for a non-matching URL', () {
- schedule(() async {
- var handler = createFileHandler(p.join(tempDir, 'file.txt'));
- var response = await makeRequest(handler, '/foo/file.txt');
- expect(response.statusCode, equals(HttpStatus.NOT_FOUND));
- });
+ test('serves a 404 for a non-matching URL', () async {
+ var handler = createFileHandler(p.join(d.sandbox, 'file.txt'));
+ var response = await makeRequest(handler, '/foo/file.txt');
+ expect(response.statusCode, equals(HttpStatus.NOT_FOUND));
});
- test('serves the file contents under a custom URL', () {
- schedule(() async {
- var handler =
- createFileHandler(p.join(tempDir, 'file.txt'), url: 'foo/bar');
- var response = await makeRequest(handler, '/foo/bar');
- expect(response.statusCode, equals(HttpStatus.OK));
- expect(response.contentLength, equals(8));
- expect(response.readAsString(), completion(equals('contents')));
- });
+ test('serves the file contents under a custom URL', () async {
+ var handler =
+ createFileHandler(p.join(d.sandbox, 'file.txt'), url: 'foo/bar');
+ var response = await makeRequest(handler, '/foo/bar');
+ expect(response.statusCode, equals(HttpStatus.OK));
+ expect(response.contentLength, equals(8));
+ expect(response.readAsString(), completion(equals('contents')));
});
- test("serves a 404 if the custom URL isn't matched", () {
- schedule(() async {
- var handler =
- createFileHandler(p.join(tempDir, 'file.txt'), url: 'foo/bar');
- var response = await makeRequest(handler, '/file.txt');
- expect(response.statusCode, equals(HttpStatus.NOT_FOUND));
- });
+ test("serves a 404 if the custom URL isn't matched", () async {
+ var handler =
+ createFileHandler(p.join(d.sandbox, 'file.txt'), url: 'foo/bar');
+ var response = await makeRequest(handler, '/file.txt');
+ expect(response.statusCode, equals(HttpStatus.NOT_FOUND));
});
group('the content type header', () {
- test('is inferred from the file path', () {
- schedule(() async {
- var handler = createFileHandler(p.join(tempDir, 'file.txt'));
- var response = await makeRequest(handler, '/file.txt');
- expect(response.statusCode, equals(HttpStatus.OK));
- expect(response.mimeType, equals('text/plain'));
- });
+ test('is inferred from the file path', () async {
+ var handler = createFileHandler(p.join(d.sandbox, 'file.txt'));
+ var response = await makeRequest(handler, '/file.txt');
+ expect(response.statusCode, equals(HttpStatus.OK));
+ expect(response.mimeType, equals('text/plain'));
});
- test("is omitted if it can't be inferred", () {
- schedule(() async {
- var handler = createFileHandler(p.join(tempDir, 'random.unknown'));
- var response = await makeRequest(handler, '/random.unknown');
- expect(response.statusCode, equals(HttpStatus.OK));
- expect(response.mimeType, isNull);
- });
+ test("is omitted if it can't be inferred", () async {
+ var handler = createFileHandler(p.join(d.sandbox, 'random.unknown'));
+ var response = await makeRequest(handler, '/random.unknown');
+ expect(response.statusCode, equals(HttpStatus.OK));
+ expect(response.mimeType, isNull);
});
- test('comes from the contentType parameter', () {
- schedule(() async {
- var handler = createFileHandler(p.join(tempDir, 'file.txt'),
- contentType: 'something/weird');
- var response = await makeRequest(handler, '/file.txt');
- expect(response.statusCode, equals(HttpStatus.OK));
- expect(response.mimeType, equals('something/weird'));
- });
+ test('comes from the contentType parameter', () async {
+ var handler = createFileHandler(p.join(d.sandbox, 'file.txt'),
+ contentType: 'something/weird');
+ var response = await makeRequest(handler, '/file.txt');
+ expect(response.statusCode, equals(HttpStatus.OK));
+ expect(response.mimeType, equals('something/weird'));
});
});
group('throws an ArgumentError for', () {
test("a file that doesn't exist", () {
- expect(() => createFileHandler(p.join(tempDir, 'nothing.txt')),
+ expect(() => createFileHandler(p.join(d.sandbox, 'nothing.txt')),
throwsArgumentError);
});
test("an absolute URL", () {
expect(
- () => createFileHandler(p.join(tempDir, 'nothing.txt'),
+ () => createFileHandler(p.join(d.sandbox, 'nothing.txt'),
url: '/foo/bar'),
throwsArgumentError);
});
diff --git a/test/default_document_test.dart b/test/default_document_test.dart
index 39943a4..d7e2906 100644
--- a/test/default_document_test.dart
+++ b/test/default_document_test.dart
@@ -5,33 +5,20 @@
import 'dart:io';
//import 'package:http_parser/http_parser.dart';
//import 'package:path/path.dart' as p;
-import 'package:scheduled_test/descriptor.dart' as d;
-import 'package:scheduled_test/scheduled_test.dart';
+import 'package:test_descriptor/test_descriptor.dart' as d;
+import 'package:test/test.dart';
import 'package:shelf_static/shelf_static.dart';
import 'test_util.dart';
void main() {
- setUp(() {
- var tempDir;
- schedule(() {
- return Directory.systemTemp.createTemp('shelf_static-test-').then((dir) {
- tempDir = dir;
- d.defaultRoot = tempDir.path;
- });
- });
-
- d.file('index.html', '<html></html>').create();
- d.file('root.txt', 'root txt').create();
- d.dir('files', [
+ setUp(() async {
+ await d.file('index.html', '<html></html>').create();
+ await d.file('root.txt', 'root txt').create();
+ await d.dir('files', [
d.file('index.html', '<html><body>files</body></html>'),
d.file('with space.txt', 'with space content')
]).create();
-
- currentSchedule.onComplete.schedule(() {
- d.defaultRoot = null;
- return tempDir.delete(recursive: true);
- });
});
group('default document value', () {
@@ -45,111 +32,87 @@
];
for (var val in invalidValues) {
- expect(() => createStaticHandler(d.defaultRoot, defaultDocument: val),
+ expect(() => createStaticHandler(d.sandbox, defaultDocument: val),
throwsArgumentError);
}
});
});
group('no default document specified', () {
- test('access "/index.html"', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('access "/index.html"', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/index.html').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 13);
- expect(response.readAsString(), completion('<html></html>'));
- });
- });
+ var response = await makeRequest(handler, '/index.html');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 13);
+ expect(response.readAsString(), completion('<html></html>'));
});
- test('access "/"', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('access "/"', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/').then((response) {
- expect(response.statusCode, HttpStatus.NOT_FOUND);
- });
- });
+ var response = await makeRequest(handler, '/');
+ expect(response.statusCode, HttpStatus.NOT_FOUND);
});
- test('access "/files"', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('access "/files"', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/files').then((response) {
- expect(response.statusCode, HttpStatus.NOT_FOUND);
- });
- });
+ var response = await makeRequest(handler, '/files');
+ expect(response.statusCode, HttpStatus.NOT_FOUND);
});
- test('access "/files/" dir', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('access "/files/" dir', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/files/').then((response) {
- expect(response.statusCode, HttpStatus.NOT_FOUND);
- });
- });
+ var response = await makeRequest(handler, '/files/');
+ expect(response.statusCode, HttpStatus.NOT_FOUND);
});
});
group('default document specified', () {
- test('access "/index.html"', () {
- schedule(() {
- var handler =
- createStaticHandler(d.defaultRoot, defaultDocument: 'index.html');
+ test('access "/index.html"', () async {
+ var handler =
+ createStaticHandler(d.sandbox, defaultDocument: 'index.html');
- return makeRequest(handler, '/index.html').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 13);
- expect(response.readAsString(), completion('<html></html>'));
- expect(response.mimeType, 'text/html');
- });
- });
+ var response = await makeRequest(handler, '/index.html');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 13);
+ expect(response.readAsString(), completion('<html></html>'));
+ expect(response.mimeType, 'text/html');
});
- test('access "/"', () {
- schedule(() {
- var handler =
- createStaticHandler(d.defaultRoot, defaultDocument: 'index.html');
+ test('access "/"', () async {
+ var handler =
+ createStaticHandler(d.sandbox, defaultDocument: 'index.html');
- return makeRequest(handler, '/').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 13);
- expect(response.readAsString(), completion('<html></html>'));
- expect(response.mimeType, 'text/html');
- });
- });
+ var response = await makeRequest(handler, '/');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 13);
+ expect(response.readAsString(), completion('<html></html>'));
+ expect(response.mimeType, 'text/html');
});
- test('access "/files"', () {
- schedule(() {
- var handler =
- createStaticHandler(d.defaultRoot, defaultDocument: 'index.html');
+ test('access "/files"', () async {
+ var handler =
+ createStaticHandler(d.sandbox, defaultDocument: 'index.html');
- return makeRequest(handler, '/files').then((response) {
- expect(response.statusCode, HttpStatus.MOVED_PERMANENTLY);
- expect(response.headers,
- containsPair(HttpHeaders.LOCATION, 'http://localhost/files/'));
- });
- });
+ var response = await makeRequest(handler, '/files');
+ expect(response.statusCode, HttpStatus.MOVED_PERMANENTLY);
+ expect(response.headers,
+ containsPair(HttpHeaders.LOCATION, 'http://localhost/files/'));
});
- test('access "/files/" dir', () {
- schedule(() {
- var handler =
- createStaticHandler(d.defaultRoot, defaultDocument: 'index.html');
+ test('access "/files/" dir', () async {
+ var handler =
+ createStaticHandler(d.sandbox, defaultDocument: 'index.html');
- return makeRequest(handler, '/files/').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 31);
- expect(response.readAsString(),
- completion('<html><body>files</body></html>'));
- expect(response.mimeType, 'text/html');
- });
- });
+ var response = await makeRequest(handler, '/files/');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 31);
+ expect(response.readAsString(),
+ completion('<html><body>files</body></html>'));
+ expect(response.mimeType, 'text/html');
});
});
}
diff --git a/test/directory_listing_test.dart b/test/directory_listing_test.dart
index 192691e..c939c5f 100644
--- a/test/directory_listing_test.dart
+++ b/test/directory_listing_test.dart
@@ -4,94 +4,64 @@
import 'dart:io';
-import 'package:scheduled_test/descriptor.dart' as d;
-import 'package:scheduled_test/scheduled_test.dart';
+import 'package:test_descriptor/test_descriptor.dart' as d;
+import 'package:test/test.dart';
import 'package:shelf_static/shelf_static.dart';
import 'test_util.dart';
void main() {
- setUp(() {
- var tempDir;
- schedule(() {
- return Directory.systemTemp.createTemp('shelf_static-test-').then((dir) {
- tempDir = dir;
- d.defaultRoot = tempDir.path;
- });
- });
-
- d.file('index.html', '<html></html>').create();
- d.file('root.txt', 'root txt').create();
- d.dir('files', [
+ setUp(() async {
+ await d.file('index.html', '<html></html>').create();
+ await d.file('root.txt', 'root txt').create();
+ await d.dir('files', [
d.file('index.html', '<html><body>files</body></html>'),
d.file('with space.txt', 'with space content'),
d.dir('empty subfolder', []),
]).create();
-
- currentSchedule.onComplete.schedule(() {
- d.defaultRoot = null;
- return tempDir.delete(recursive: true);
- });
});
- group('list directories', () {
- test('access "/"', () {
- schedule(() async {
- var handler = createStaticHandler(d.defaultRoot, listDirectories: true);
+ test('access "/"', () async {
+ var handler = createStaticHandler(d.sandbox, listDirectories: true);
- return makeRequest(handler, '/').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.readAsString(), completes);
- });
- });
- });
+ var response = await makeRequest(handler, '/');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.readAsString(), completes);
+ });
- test('access "/files"', () {
- schedule(() async {
- var handler = createStaticHandler(d.defaultRoot, listDirectories: true);
+ test('access "/files"', () async {
+ var handler = createStaticHandler(d.sandbox, listDirectories: true);
- return makeRequest(handler, '/files').then((response) {
- expect(response.statusCode, HttpStatus.MOVED_PERMANENTLY);
- expect(response.headers,
- containsPair(HttpHeaders.LOCATION, 'http://localhost/files/'));
- });
- });
- });
+ var response = await makeRequest(handler, '/files');
+ expect(response.statusCode, HttpStatus.MOVED_PERMANENTLY);
+ expect(response.headers,
+ containsPair(HttpHeaders.LOCATION, 'http://localhost/files/'));
+ });
- test('access "/files/"', () {
- schedule(() async {
- var handler = createStaticHandler(d.defaultRoot, listDirectories: true);
+ test('access "/files/"', () async {
+ var handler = createStaticHandler(d.sandbox, listDirectories: true);
- return makeRequest(handler, '/files/').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.readAsString(), completes);
- });
- });
- });
+ var response = await makeRequest(handler, '/files/');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.readAsString(), completes);
+ });
- test('access "/files/empty subfolder"', () {
- schedule(() async {
- var handler = createStaticHandler(d.defaultRoot, listDirectories: true);
+ test('access "/files/empty subfolder"', () async {
+ var handler = createStaticHandler(d.sandbox, listDirectories: true);
- return makeRequest(handler, '/files/empty subfolder').then((response) {
- expect(response.statusCode, HttpStatus.MOVED_PERMANENTLY);
- expect(
- response.headers,
- containsPair(HttpHeaders.LOCATION,
- 'http://localhost/files/empty%20subfolder/'));
- });
- });
- });
+ var response = await makeRequest(handler, '/files/empty subfolder');
+ expect(response.statusCode, HttpStatus.MOVED_PERMANENTLY);
+ expect(
+ response.headers,
+ containsPair(
+ HttpHeaders.LOCATION, 'http://localhost/files/empty%20subfolder/'));
+ });
- test('access "/files/empty subfolder/"', () {
- schedule(() async {
- var handler = createStaticHandler(d.defaultRoot, listDirectories: true);
+ test('access "/files/empty subfolder/"', () async {
+ var handler = createStaticHandler(d.sandbox, listDirectories: true);
- return makeRequest(handler, '/files/empty subfolder/').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.readAsString(), completes);
- });
- });
- });
+ var response = await makeRequest(handler, '/files/empty subfolder/');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.readAsString(), completes);
});
}
diff --git a/test/get_handler_test.dart b/test/get_handler_test.dart
index bdb150b..1c1a510 100644
--- a/test/get_handler_test.dart
+++ b/test/get_handler_test.dart
@@ -2,59 +2,36 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-import 'dart:io';
import 'package:path/path.dart' as p;
-import 'package:scheduled_test/descriptor.dart' as d;
-import 'package:scheduled_test/scheduled_test.dart';
+import 'package:test_descriptor/test_descriptor.dart' as d;
+import 'package:test/test.dart';
import 'package:shelf_static/shelf_static.dart';
void main() {
- setUp(() {
- var tempDir;
- schedule(() {
- return Directory.systemTemp.createTemp('shelf_static-test-').then((dir) {
- tempDir = dir;
- d.defaultRoot = tempDir.path;
- });
- });
-
- d.file('root.txt', 'root txt').create();
- d.dir('files', [
+ setUp(() async {
+ await d.file('root.txt', 'root txt').create();
+ await d.dir('files', [
d.file('test.txt', 'test txt content'),
d.file('with space.txt', 'with space content')
]).create();
-
- currentSchedule.onComplete.schedule(() {
- d.defaultRoot = null;
- return tempDir.delete(recursive: true);
- });
});
- test('non-existent relative path', () {
- schedule(() {
- expect(() => createStaticHandler('random/relative'), throwsArgumentError);
- });
+ test('non-existent relative path', () async {
+ expect(() => createStaticHandler('random/relative'), throwsArgumentError);
});
- test('existing relative path', () {
- schedule(() {
- var existingRelative = p.relative(d.defaultRoot);
- expect(() => createStaticHandler(existingRelative), returnsNormally);
- });
+ test('existing relative path', () async {
+ var existingRelative = p.relative(d.sandbox);
+ expect(() => createStaticHandler(existingRelative), returnsNormally);
});
test('non-existent absolute path', () {
- schedule(() {
- var nonExistingAbsolute = p.join(d.defaultRoot, 'not_here');
- expect(
- () => createStaticHandler(nonExistingAbsolute), throwsArgumentError);
- });
+ var nonExistingAbsolute = p.join(d.sandbox, 'not_here');
+ expect(() => createStaticHandler(nonExistingAbsolute), throwsArgumentError);
});
test('existing absolute path', () {
- schedule(() {
- expect(() => createStaticHandler(d.defaultRoot), returnsNormally);
- });
+ expect(() => createStaticHandler(d.sandbox), returnsNormally);
});
}
diff --git a/test/sample_test.dart b/test/sample_test.dart
index cf4892d..1c4b85f 100644
--- a/test/sample_test.dart
+++ b/test/sample_test.dart
@@ -6,7 +6,7 @@
import 'dart:io';
import 'package:path/path.dart' as p;
-import 'package:scheduled_test/scheduled_test.dart';
+import 'package:test/test.dart';
import 'package:shelf/shelf.dart';
import 'package:shelf_static/shelf_static.dart';
@@ -15,38 +15,35 @@
void main() {
group('/index.html', () {
- test('body is correct', () {
- return _testFileContents('index.html');
+ test('body is correct', () async {
+ await _testFileContents('index.html');
});
- test('mimeType is text/html', () {
- return _requestFile('index.html').then((response) {
- expect(response.mimeType, 'text/html');
+ test('mimeType is text/html', () async {
+ var response = await _requestFile('index.html');
+ expect(response.mimeType, 'text/html');
+ });
+
+ group('/favicon.ico', () {
+ test('body is correct', () async {
+ await _testFileContents('favicon.ico');
});
- });
- });
- group('/favicon.ico', () {
- test('body is correct', () {
- return _testFileContents('favicon.ico');
- });
-
- test('mimeType is text/html', () {
- return _requestFile('favicon.ico').then((response) {
+ test('mimeType is text/html', () async {
+ var response = await _requestFile('favicon.ico');
expect(response.mimeType, 'image/x-icon');
});
});
});
group('/dart.png', () {
- test('body is correct', () {
- return _testFileContents('dart.png');
+ test('body is correct', () async {
+ await _testFileContents('dart.png');
});
- test('mimeType is image/png', () {
- return _requestFile('dart.png').then((response) {
- expect(response.mimeType, 'image/png');
- });
+ test('mimeType is image/png', () async {
+ var response = await _requestFile('dart.png');
+ expect(response.mimeType, 'image/png');
});
});
}
@@ -57,30 +54,28 @@
return _request(new Request('GET', uri));
}
-Future _testFileContents(String filename) {
+Future _testFileContents(String filename) async {
var filePath = p.join(_samplePath, filename);
var file = new File(filePath);
var fileContents = file.readAsBytesSync();
var fileStat = file.statSync();
- return _requestFile(filename).then((response) {
- expect(response.contentLength, fileStat.size);
- expect(response.lastModified, atSameTimeToSecond(fileStat.changed.toUtc()));
- return _expectCompletesWithBytes(response, fileContents);
- });
+ var response = await _requestFile(filename);
+ expect(response.contentLength, fileStat.size);
+ expect(response.lastModified, atSameTimeToSecond(fileStat.changed.toUtc()));
+ await _expectCompletesWithBytes(response, fileContents);
}
-Future _expectCompletesWithBytes(Response response, List<int> expectedBytes) {
- return response.read().toList().then((List<List<int>> bytes) {
- var flatBytes = bytes.expand((e) => e);
- expect(flatBytes, orderedEquals(expectedBytes));
- });
+Future _expectCompletesWithBytes(
+ Response response, List<int> expectedBytes) async {
+ var bytes = await response.read().toList();
+ var flatBytes = bytes.expand((e) => e);
+ expect(flatBytes, orderedEquals(expectedBytes));
}
-Future<Response> _request(Request request) {
+Future<Response> _request(Request request) async {
var handler = createStaticHandler(_samplePath);
-
- return new Future.sync(() => handler(request));
+ return await handler(request);
}
String get _samplePath {
diff --git a/test/symbolic_link_test.dart b/test/symbolic_link_test.dart
index ad2b747..8a95288 100644
--- a/test/symbolic_link_test.dart
+++ b/test/symbolic_link_test.dart
@@ -4,179 +4,132 @@
import 'dart:io';
import 'package:path/path.dart' as p;
-import 'package:scheduled_test/descriptor.dart' as d;
-import 'package:scheduled_test/scheduled_test.dart';
+import 'package:test_descriptor/test_descriptor.dart' as d;
+import 'package:test/test.dart';
import 'package:shelf_static/shelf_static.dart';
import 'test_util.dart';
void main() {
- setUp(() {
- var tempDir;
- schedule(() {
- return Directory.systemTemp.createTemp('shelf_static-test-').then((dir) {
- tempDir = dir;
- d.defaultRoot = tempDir.path;
- });
- });
-
- d.dir('originals', [
+ setUp(() async {
+ await d.dir('originals', [
d.file('index.html', '<html></html>'),
]).create();
- d.dir('alt_root').create();
+ await d.dir('alt_root').create();
- schedule(() {
- var originalsDir = p.join(d.defaultRoot, 'originals');
- var originalsIndex = p.join(originalsDir, 'index.html');
+ var originalsDir = p.join(d.sandbox, 'originals');
+ var originalsIndex = p.join(originalsDir, 'index.html');
- new Link(p.join(d.defaultRoot, 'link_index.html'))
- .createSync(originalsIndex);
+ new Link(p.join(d.sandbox, 'link_index.html')).createSync(originalsIndex);
- new Link(p.join(d.defaultRoot, 'link_dir')).createSync(originalsDir);
+ new Link(p.join(d.sandbox, 'link_dir')).createSync(originalsDir);
- new Link(p.join(d.defaultRoot, 'alt_root', 'link_index.html'))
- .createSync(originalsIndex);
+ new Link(p.join(d.sandbox, 'alt_root', 'link_index.html'))
+ .createSync(originalsIndex);
- new Link(p.join(d.defaultRoot, 'alt_root', 'link_dir'))
- .createSync(originalsDir);
- });
-
- currentSchedule.onComplete.schedule(() {
- d.defaultRoot = null;
- return tempDir.delete(recursive: true);
- });
+ new Link(p.join(d.sandbox, 'alt_root', 'link_dir'))
+ .createSync(originalsDir);
});
group('access outside of root disabled', () {
- test('access real file', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('access real file', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/originals/index.html').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 13);
- expect(response.readAsString(), completion('<html></html>'));
- });
- });
+ var response = await makeRequest(handler, '/originals/index.html');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 13);
+ expect(response.readAsString(), completion('<html></html>'));
});
group('links under root dir', () {
- test('access sym linked file in real dir', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('access sym linked file in real dir', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/link_index.html').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 13);
- expect(response.readAsString(), completion('<html></html>'));
- });
- });
+ var response = await makeRequest(handler, '/link_index.html');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 13);
+ expect(response.readAsString(), completion('<html></html>'));
});
- test('access file in sym linked dir', () {
- schedule(() {
- var handler = createStaticHandler(d.defaultRoot);
+ test('access file in sym linked dir', () async {
+ var handler = createStaticHandler(d.sandbox);
- return makeRequest(handler, '/link_dir/index.html').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 13);
- expect(response.readAsString(), completion('<html></html>'));
- });
- });
+ var response = await makeRequest(handler, '/link_dir/index.html');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 13);
+ expect(response.readAsString(), completion('<html></html>'));
});
});
group('links not under root dir', () {
- test('access sym linked file in real dir', () {
- schedule(() {
- var handler = createStaticHandler(p.join(d.defaultRoot, 'alt_root'));
+ test('access sym linked file in real dir', () async {
+ var handler = createStaticHandler(p.join(d.sandbox, 'alt_root'));
- return makeRequest(handler, '/link_index.html').then((response) {
- expect(response.statusCode, HttpStatus.NOT_FOUND);
- });
- });
+ var response = await makeRequest(handler, '/link_index.html');
+ expect(response.statusCode, HttpStatus.NOT_FOUND);
});
- test('access file in sym linked dir', () {
- schedule(() {
- var handler = createStaticHandler(p.join(d.defaultRoot, 'alt_root'));
+ test('access file in sym linked dir', () async {
+ var handler = createStaticHandler(p.join(d.sandbox, 'alt_root'));
- return makeRequest(handler, '/link_dir/index.html').then((response) {
- expect(response.statusCode, HttpStatus.NOT_FOUND);
- });
- });
+ var response = await makeRequest(handler, '/link_dir/index.html');
+ expect(response.statusCode, HttpStatus.NOT_FOUND);
});
});
});
group('access outside of root enabled', () {
- test('access real file', () {
- schedule(() {
- var handler =
- createStaticHandler(d.defaultRoot, serveFilesOutsidePath: true);
+ test('access real file', () async {
+ var handler = createStaticHandler(d.sandbox, serveFilesOutsidePath: true);
- return makeRequest(handler, '/originals/index.html').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 13);
- expect(response.readAsString(), completion('<html></html>'));
- });
- });
+ var response = await makeRequest(handler, '/originals/index.html');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 13);
+ expect(response.readAsString(), completion('<html></html>'));
});
group('links under root dir', () {
- test('access sym linked file in real dir', () {
- schedule(() {
- var handler =
- createStaticHandler(d.defaultRoot, serveFilesOutsidePath: true);
+ test('access sym linked file in real dir', () async {
+ var handler =
+ createStaticHandler(d.sandbox, serveFilesOutsidePath: true);
- return makeRequest(handler, '/link_index.html').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 13);
- expect(response.readAsString(), completion('<html></html>'));
- });
- });
+ var response = await makeRequest(handler, '/link_index.html');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 13);
+ expect(response.readAsString(), completion('<html></html>'));
});
- test('access file in sym linked dir', () {
- schedule(() {
- var handler =
- createStaticHandler(d.defaultRoot, serveFilesOutsidePath: true);
+ test('access file in sym linked dir', () async {
+ var handler =
+ createStaticHandler(d.sandbox, serveFilesOutsidePath: true);
- return makeRequest(handler, '/link_dir/index.html').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 13);
- expect(response.readAsString(), completion('<html></html>'));
- });
- });
+ var response = await makeRequest(handler, '/link_dir/index.html');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 13);
+ expect(response.readAsString(), completion('<html></html>'));
});
});
group('links not under root dir', () {
- test('access sym linked file in real dir', () {
- schedule(() {
- var handler = createStaticHandler(p.join(d.defaultRoot, 'alt_root'),
- serveFilesOutsidePath: true);
+ test('access sym linked file in real dir', () async {
+ var handler = createStaticHandler(p.join(d.sandbox, 'alt_root'),
+ serveFilesOutsidePath: true);
- return makeRequest(handler, '/link_index.html').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 13);
- expect(response.readAsString(), completion('<html></html>'));
- });
- });
+ var response = await makeRequest(handler, '/link_index.html');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 13);
+ expect(response.readAsString(), completion('<html></html>'));
});
- test('access file in sym linked dir', () {
- schedule(() {
- var handler = createStaticHandler(p.join(d.defaultRoot, 'alt_root'),
- serveFilesOutsidePath: true);
+ test('access file in sym linked dir', () async {
+ var handler = createStaticHandler(p.join(d.sandbox, 'alt_root'),
+ serveFilesOutsidePath: true);
- return makeRequest(handler, '/link_dir/index.html').then((response) {
- expect(response.statusCode, HttpStatus.OK);
- expect(response.contentLength, 13);
- expect(response.readAsString(), completion('<html></html>'));
- });
- });
+ var response = await makeRequest(handler, '/link_dir/index.html');
+ expect(response.statusCode, HttpStatus.OK);
+ expect(response.contentLength, 13);
+ expect(response.readAsString(), completion('<html></html>'));
});
});
});
diff --git a/test/test_all.dart b/test/test_all.dart
deleted file mode 100644
index e2529f4..0000000
--- a/test/test_all.dart
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import 'package:scheduled_test/scheduled_test.dart';
-
-import 'alternative_root_test.dart' as alternative_root;
-import 'basic_file_test.dart' as basic_file;
-import 'default_document_test.dart' as default_document;
-import 'directory_listing_test.dart' as directory_listing;
-import 'get_handler_test.dart' as get_handler;
-import 'sample_test.dart' as sample;
-import 'symbolic_link_test.dart' as symbolic_link;
-
-void main() {
- group('alternative_root', alternative_root.main);
- group('basic_file', basic_file.main);
- group('default_document', default_document.main);
- group('directory_listing', directory_listing.main);
- group('get_handler', get_handler.main);
- group('sample', sample.main);
- group('symbolic_link', symbolic_link.main);
-}