| 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.file; |    5 library descriptor.file; | 
|    6  |    6  | 
|    7 import 'dart:async'; |    7 import 'dart:async'; | 
|    8 import 'dart:io'; |    8 import 'dart:io'; | 
|    9 import 'dart:math' as math; |    9 import 'dart:math' as math; | 
|   10 import 'dart:utf'; |   10 import 'dart:utf'; | 
|   11  |   11  | 
|   12 import 'package:pathos/path.dart' as path; |   12 import 'package:path/path.dart' as path; | 
|   13  |   13  | 
|   14 import '../../descriptor.dart'; |   14 import '../../descriptor.dart'; | 
|   15 import '../../scheduled_test.dart'; |   15 import '../../scheduled_test.dart'; | 
|   16 import '../utils.dart'; |   16 import '../utils.dart'; | 
|   17  |   17  | 
|   18 /// A descriptor describing a single file. |   18 /// A descriptor describing a single file. | 
|   19 abstract class FileDescriptor extends Descriptor implements ReadableDescriptor { |   19 abstract class FileDescriptor extends Descriptor implements ReadableDescriptor { | 
|   20   /// The contents of the file, in bytes. |   20   /// The contents of the file, in bytes. | 
|   21   final List<int> contents; |   21   final List<int> contents; | 
|   22  |   22  | 
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   57  |   57  | 
|   58   Future validateNow([String parent]) { |   58   Future validateNow([String parent]) { | 
|   59     if (parent == null) parent = defaultRoot; |   59     if (parent == null) parent = defaultRoot; | 
|   60     var fullPath = path.join(parent, name); |   60     var fullPath = path.join(parent, name); | 
|   61     if (!new File(fullPath).existsSync()) { |   61     if (!new File(fullPath).existsSync()) { | 
|   62       throw "File not found: '$fullPath'."; |   62       throw "File not found: '$fullPath'."; | 
|   63     } |   63     } | 
|   64  |   64  | 
|   65     return new File(fullPath).readAsBytes().then(_validateNow); |   65     return new File(fullPath).readAsBytes().then(_validateNow); | 
|   66   } |   66   } | 
|   67    |   67  | 
|   68   // TODO(nweiz): rather than setting up an inheritance chain, just store a |   68   // TODO(nweiz): rather than setting up an inheritance chain, just store a | 
|   69   // Matcher for validation. This would require better error messages from the |   69   // Matcher for validation. This would require better error messages from the | 
|   70   // matcher library, though. |   70   // matcher library, though. | 
|   71   /// A function that throws an error if [binaryContents] doesn't match the |   71   /// A function that throws an error if [binaryContents] doesn't match the | 
|   72   /// expected contents of the descriptor. |   72   /// expected contents of the descriptor. | 
|   73   void _validateNow(List<int> binaryContents); |   73   void _validateNow(List<int> binaryContents); | 
|   74  |   74  | 
|   75   Stream<List<int>> read() => new Future.value(contents).asStream(); |   75   Stream<List<int>> read() => new Future.value(contents).asStream(); | 
|   76  |   76  | 
|   77   String describe() => name; |   77   String describe() => name; | 
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  140  |  140  | 
|  141   _MatcherFileDescriptor(String name, this._matcher, {bool isBinary}) |  141   _MatcherFileDescriptor(String name, this._matcher, {bool isBinary}) | 
|  142       : _isBinary = isBinary == true ? true : false, |  142       : _isBinary = isBinary == true ? true : false, | 
|  143         super._(name, <int>[]); |  143         super._(name, <int>[]); | 
|  144  |  144  | 
|  145   void _validateNow(List<int> actualContents) => |  145   void _validateNow(List<int> actualContents) => | 
|  146       expect( |  146       expect( | 
|  147           _isBinary ? actualContents : new String.fromCharCodes(actualContents), |  147           _isBinary ? actualContents : new String.fromCharCodes(actualContents), | 
|  148           _matcher); |  148           _matcher); | 
|  149 } |  149 } | 
| OLD | NEW |