Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(288)

Side by Side Diff: pkg/scheduled_test/lib/src/descriptor/async_descriptor.dart

Issue 12853005: Change the way Patterns work in scheduled_test/descriptor. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Code review changes. Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 library descriptor.async;
6
7 import 'dart:async';
8 import 'dart:io' as io;
9
10 import '../../descriptor.dart';
11 import '../../scheduled_test.dart';
12 import '../utils.dart';
13
14 /// A descriptor that wraps a [Future<Descriptor>] and forwards all asynchronous
15 /// operations to the result of the future. It's designed for use when the full
16 /// filesystem description isn't known when initializing the schedule.
17 ///
18 /// [AsyncDescriptor]s don't support [load], since their names aren't
19 /// synchronously available.
20 class AsyncDescriptor extends Descriptor {
21 /// The [Future] that will complete to the [Descriptor] this descriptor is
22 /// wrapping.
23 final Future<Descriptor> future;
24
25 AsyncDescriptor(this.future)
26 : super('<async descriptor>');
27
28 Future create([String parent]) =>
29 schedule(() => future.then((entry) => entry.create(parent)));
30
31 Future validate([String parent]) => schedule(() => validateNow(parent));
32
33 Future validateNow([String parent]) =>
34 future.then((entry) => entry.validateNow(parent));
35
36 Stream<List<int>> load(String path) => errorStream("AsyncDescriptors don't "
37 "support load().");
38
39 Stream<List<int>> read() => errorStream("AsyncDescriptors don't support "
40 "read().");
41
42 String describe() => "async descriptor";
43 }
OLDNEW
« no previous file with comments | « pkg/scheduled_test/lib/src/descriptor/async.dart ('k') | pkg/scheduled_test/lib/src/descriptor/descriptor.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698