| 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'; |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 if (orderedIterableEquals(contents, actualContents)) return; | 56 if (orderedIterableEquals(contents, actualContents)) return; |
| 57 if (isBinary) { | 57 if (isBinary) { |
| 58 // TODO(nweiz): show a hex dump here if the data is small enough. | 58 // TODO(nweiz): show a hex dump here if the data is small enough. |
| 59 throw "File '$name' didn't contain the expected binary data."; | 59 throw "File '$name' didn't contain the expected binary data."; |
| 60 } | 60 } |
| 61 throw _textMismatchMessage(textContents, | 61 throw _textMismatchMessage(textContents, |
| 62 new String.fromCharCodes(actualContents)); | 62 new String.fromCharCodes(actualContents)); |
| 63 }); | 63 }); |
| 64 } | 64 } |
| 65 | 65 |
| 66 Stream<List<int>> read() => new Future.immediate(contents).asStream(); | 66 Stream<List<int>> read() => new Future.value(contents).asStream(); |
| 67 | 67 |
| 68 String describe() => name; | 68 String describe() => name; |
| 69 | 69 |
| 70 String _textMismatchMessage(String expected, String actual) { | 70 String _textMismatchMessage(String expected, String actual) { |
| 71 final expectedLines = expected.split('\n'); | 71 final expectedLines = expected.split('\n'); |
| 72 final actualLines = actual.split('\n'); | 72 final actualLines = actual.split('\n'); |
| 73 | 73 |
| 74 var results = []; | 74 var results = []; |
| 75 | 75 |
| 76 // Compare them line by line to see which ones match. | 76 // Compare them line by line to see which ones match. |
| (...skipping 18 matching lines...) Expand all Loading... |
| 95 } | 95 } |
| 96 } | 96 } |
| 97 } | 97 } |
| 98 | 98 |
| 99 return "File '$name' should contain:\n" | 99 return "File '$name' should contain:\n" |
| 100 "${prefixLines(expected)}\n" | 100 "${prefixLines(expected)}\n" |
| 101 "but actually contained:\n" | 101 "but actually contained:\n" |
| 102 "${results.join('\n')}"; | 102 "${results.join('\n')}"; |
| 103 } | 103 } |
| 104 } | 104 } |
| OLD | NEW |