| Index: pkg/scheduled_test/test/descriptor_test.dart
|
| diff --git a/pkg/scheduled_test/test/descriptor_test.dart b/pkg/scheduled_test/test/descriptor_test.dart
|
| index 2b71e8a7bbacca3ec9d1cafd9d12a19eeda42bd8..1a28c0c69e4101e2cde0de2fe6cd73571f120ee2 100644
|
| --- a/pkg/scheduled_test/test/descriptor_test.dart
|
| +++ b/pkg/scheduled_test/test/descriptor_test.dart
|
| @@ -12,6 +12,7 @@ import 'package:scheduled_test/descriptor.dart' as d;
|
| import 'package:scheduled_test/scheduled_test.dart';
|
|
|
| import 'metatest.dart';
|
| +import 'utils.dart';
|
|
|
| String sandbox;
|
|
|
| @@ -861,6 +862,132 @@ void main() {
|
| expect(d.dir('dir').describe(), equals('dir'));
|
| });
|
| });
|
| +
|
| + expectTestsPass("async().create() forwards to file().create", () {
|
| + test('test', () {
|
| + scheduleSandbox();
|
| +
|
| + d.async(pumpEventQueue().then((_) {
|
| + return d.file('name.txt', 'contents');
|
| + })).create();
|
| +
|
| + d.file('name.txt', 'contents').validate();
|
| + });
|
| + });
|
| +
|
| + expectTestsPass("async().create() forwards to directory().create", () {
|
| + test('test', () {
|
| + scheduleSandbox();
|
| +
|
| + d.async(pumpEventQueue().then((_) {
|
| + return d.dir('dir', [
|
| + d.file('file1.txt', 'contents1'),
|
| + d.file('file2.txt', 'contents2')
|
| + ]);
|
| + })).create();
|
| +
|
| + d.dir('dir', [
|
| + d.file('file1.txt', 'contents1'),
|
| + d.file('file2.txt', 'contents2')
|
| + ]).validate();
|
| + });
|
| + });
|
| +
|
| + expectTestsPass("async().validate() forwards to file().validate", () {
|
| + test('test', () {
|
| + scheduleSandbox();
|
| +
|
| + d.file('name.txt', 'contents').create();
|
| +
|
| + d.async(pumpEventQueue().then((_) {
|
| + return d.file('name.txt', 'contents');
|
| + })).validate();
|
| + });
|
| + });
|
| +
|
| + expectTestsPass("async().validate() fails if file().validate fails", () {
|
| + var errors;
|
| + test('test 1', () {
|
| + scheduleSandbox();
|
| +
|
| + currentSchedule.onException.schedule(() {
|
| + errors = currentSchedule.errors;
|
| + });
|
| +
|
| + d.async(pumpEventQueue().then((_) {
|
| + return d.file('name.txt', 'contents');
|
| + })).validate();
|
| + });
|
| +
|
| + test('test 2', () {
|
| + expect(errors, everyElement(new isInstanceOf<ScheduleError>()));
|
| + expect(errors.length, equals(1));
|
| + expect(errors.first.error,
|
| + matches(r"^File not found: '[^']+[\\/]name\.txt'\.$"));
|
| + });
|
| + }, passing: ['test 2']);
|
| +
|
| + expectTestsPass("async().validate() forwards to directory().validate", () {
|
| + test('test', () {
|
| + scheduleSandbox();
|
| +
|
| + d.dir('dir', [
|
| + d.file('file1.txt', 'contents1'),
|
| + d.file('file2.txt', 'contents2')
|
| + ]).create();
|
| +
|
| + d.async(pumpEventQueue().then((_) {
|
| + return d.dir('dir', [
|
| + d.file('file1.txt', 'contents1'),
|
| + d.file('file2.txt', 'contents2')
|
| + ]);
|
| + })).validate();
|
| + });
|
| + });
|
| +
|
| + expectTestsPass("async().create() fails if directory().create fails", () {
|
| + var errors;
|
| + test('test 1', () {
|
| + scheduleSandbox();
|
| +
|
| + currentSchedule.onException.schedule(() {
|
| + errors = currentSchedule.errors;
|
| + });
|
| +
|
| + d.async(pumpEventQueue().then((_) {
|
| + return d.dir('dir', [
|
| + d.file('file1.txt', 'contents1'),
|
| + d.file('file2.txt', 'contents2')
|
| + ]);
|
| + })).validate();
|
| + });
|
| +
|
| + test('test 2', () {
|
| + expect(errors, everyElement(new isInstanceOf<ScheduleError>()));
|
| + expect(errors.length, equals(1));
|
| + expect(errors.first.error,
|
| + matches(r"^Directory not found: '[^']+[\\/]dir'\.$"));
|
| + });
|
| + }, passing: ['test 2']);
|
| +
|
| + expectTestsPass("async().load() fails", () {
|
| + test('test', () {
|
| + scheduleSandbox();
|
| +
|
| + expect(d.async(new Future.immediate(d.file('name.txt')))
|
| + .load('path').toList(),
|
| + throwsA(equals("Async descriptors don't support load().")));
|
| + });
|
| + });
|
| +
|
| + expectTestsPass("async().read() fails", () {
|
| + test('test', () {
|
| + scheduleSandbox();
|
| +
|
| + expect(d.async(new Future.immediate(d.file('name.txt'))).read().toList(),
|
| + throwsA(equals("Async descriptors don't support read().")));
|
| + });
|
| + });
|
| }
|
|
|
| void scheduleSandbox() {
|
|
|