FileDescriptor constructor

FileDescriptor(
  1. String name,
  2. Object? contents
)

Creates a new FileDescriptor with name and contents.

The contents may be a String, a List<int>, or a Matcher. If it's a string, create creates a UTF-8 file and validate parses the physical file as UTF-8. If it's a Matcher, validate matches it against the physical file's contents parsed as UTF-8, and create, read, and readAsBytes are unsupported.

If contents isn't passed, create creates an empty file and validate verifies that the file is empty.

To match a Matcher against a file's binary contents, use new FileDescriptor.binaryMatcher instead.

Implementation

factory FileDescriptor(String name, Object? contents) {
  if (contents is String) return _StringFileDescriptor(name, contents);
  if (contents is List) {
    return _BinaryFileDescriptor(name, contents.cast<int>());
  }
  if (contents == null) return _BinaryFileDescriptor(name, []);
  return _MatcherFileDescriptor(name, contents as Matcher);
}