IOOverrides class

This class facilitates overriding various APIs of dart:io with mock implementations.

This abstract base class should be extended with overrides for the operations needed to construct mocks. The implementations in this base class default to the actual dart:io implementation. For example:

class MyDirectory implements Directory {
  ...
  // An implementation of the Directory interface
  ...
}

main() {
  IOOverrides.runZoned(() {
    ...
    // Operations will use MyDirectory instead of dart:io's Directory
    // implementation whenever Directory is used.
    ...
  }, createDirectory: (String path) => new MyDirectory(path));
}

Constructors

IOOverrides()

Properties

hashCode int
The hash code for this object. [...]
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

createDirectory(String path) Directory
Creates a new Directory object for the given path. [...]
createFile(String path) File
Creates a new File object for the given path. [...]
Returns a new Link object for the given path. [...]
fseGetType(String path, bool followLinks) Future<FileSystemEntityType>
Asynchronously returns the FileSystemEntityType for path. [...]
fseGetTypeSync(String path, bool followLinks) FileSystemEntityType
Returns the FileSystemEntityType for path. [...]
fseIdentical(String path1 String path2) Future<bool>
Asynchronously returns true if path1 and path2 are paths to the same file system object. [...]
fseIdenticalSync(String path1 String path2) bool
Returns true if path1 and path2 are paths to the same file system object. [...]
fsWatch(String path, int events, bool recursive) Stream<FileSystemEvent>
Returns a Stream of FileSystemEvents. [...]
fsWatchIsSupported() bool
Returns true when FileSystemEntity.watch is supported. [...]
getCurrentDirectory() Directory
Returns the current working directory. [...]
getSystemTempDirectory() Directory
Returns the system temporary directory. [...]
serverSocketBind(dynamic address, int port, { int backlog: 0, bool v6Only: false bool shared: false }) Future<ServerSocket>
Asynchronously returns a ServerSocket that connects to the given address and port when successful. [...]
setCurrentDirectory(String path) → void
Sets the current working directory to be path. [...]
socketConnect(dynamic host, int port, { dynamic sourceAddress, Duration timeout }) Future<Socket>
Asynchronously returns a Socket connected to the given host and port. [...]
socketStartConnect(dynamic host, int port, { dynamic sourceAddress }) Future<ConnectionTask<Socket>>
Asynchronously returns a ConnectionTask that connects to the given host and port when successful. [...]
stat(String path) Future<FileStat>
Asynchronously returns FileStat information for path. [...]
statSync(String path) FileStat
Returns FileStat information for path. [...]
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
toString() String
Returns a string representation of this object.
inherited

Operators

operator ==(dynamic other) bool
The equality operator. [...]
inherited

Static Properties

current IOOverrides
read-only
global IOOverrides
The IOOverrides to use in the root Zone. [...]
write-only

Static Methods

runWithIOOverrides<R>(R body(), IOOverrides overrides) → R
Runs body in a fresh Zone using the overrides found in overrides. [...]
runZoned<R>(R body(), { Directory createDirectory(String), Directory getCurrentDirectory(), void setCurrentDirectory(String), Directory getSystemTempDirectory(), File createFile(String), Future<FileStat> stat(String), FileStat statSync(String), Future<bool> fseIdentical(String String), bool fseIdenticalSync(String String), Future<FileSystemEntityType> fseGetType(String, bool), FileSystemEntityType fseGetTypeSync(String, bool), Stream<FileSystemEvent> fsWatch(String, int, bool), bool fsWatchIsSupported(), Link createLink(String), Future<Socket> socketConnect(dynamic, int, { dynamic sourceAddress, Duration timeout }), Future<ConnectionTask<Socket>> socketStartConnect(dynamic, int, { dynamic sourceAddress }), Future<ServerSocket> serverSocketBind(dynamic, int, { int backlog, bool shared bool v6Only }) }) → R
Runs body in a fresh Zone using the provided overrides. [...]