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 library descriptor.tar; | 5 library descriptor.tar; |
6 | 6 |
7 import 'dart:io'; | |
8 import 'dart:async'; | 7 import 'dart:async'; |
9 | 8 |
10 import 'package:path/path.dart' as path; | 9 import 'package:path/path.dart' as path; |
11 import 'package:scheduled_test/scheduled_test.dart'; | 10 import 'package:scheduled_test/scheduled_test.dart'; |
12 import 'package:scheduled_test/descriptor.dart'; | 11 import 'package:scheduled_test/descriptor.dart'; |
13 | 12 |
14 import '../../lib/src/io.dart'; | 13 import '../../lib/src/io.dart'; |
15 import '../../lib/src/utils.dart'; | |
16 | 14 |
17 /// Describes a tar file and its contents. | 15 /// Describes a tar file and its contents. |
18 class TarFileDescriptor extends DirectoryDescriptor | 16 class TarFileDescriptor extends DirectoryDescriptor |
19 implements ReadableDescriptor { | 17 implements ReadableDescriptor { |
20 TarFileDescriptor(String name, List<Descriptor> contents) | 18 TarFileDescriptor(String name, List<Descriptor> contents) |
21 : super(name, contents); | 19 : super(name, contents); |
22 | 20 |
23 /// Creates the files and directories within this tar file, then archives | 21 /// Creates the files and directories within this tar file, then archives |
24 /// them, compresses them, and saves the result to [parentDir]. | 22 /// them, compresses them, and saves the result to [parentDir]. |
25 Future<String> create([String parent]) => schedule(() { | 23 Future<String> create([String parent]) => schedule(() { |
(...skipping 20 matching lines...) Expand all Loading... |
46 throw new UnimplementedError("TODO(nweiz): implement this"); | 44 throw new UnimplementedError("TODO(nweiz): implement this"); |
47 } | 45 } |
48 | 46 |
49 Stream<List<int>> read() { | 47 Stream<List<int>> read() { |
50 return new Stream<List<int>>.fromFuture(withTempDir((tempDir) { | 48 return new Stream<List<int>>.fromFuture(withTempDir((tempDir) { |
51 return create(tempDir).then((_) => | 49 return create(tempDir).then((_) => |
52 readBinaryFile(path.join(tempDir, name))); | 50 readBinaryFile(path.join(tempDir, name))); |
53 })); | 51 })); |
54 } | 52 } |
55 } | 53 } |
OLD | NEW |