FileDescriptor constructor

  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.


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);