dart:io
IOOverrides class
Facilities for 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
...
}
void 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
read-only, inherited
- The hash code for this object.
- runtimeType → Type
read-only, inherited
- A representation of the runtime type of the object.
- stderr → Stdout
read-only
- The standard output stream of errors written by this program.
- stdin → Stdin
read-only
- The standard input stream of data read by this program.
- stdout → Stdout
read-only
- The standard output stream of data written by this program.
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. - createLink(String path) → Link
- 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.
- noSuchMethod(Invocation invocation) → dynamic
inherited
- Invoked when a non-existent method or property is accessed.
- 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, int sourcePort = 0, Duration? timeout}) → Future<Socket>
- Asynchronously returns a
Socket connected to the given host and port. - socketStartConnect(dynamic host, int port, {dynamic sourceAddress, int sourcePort = 0}) → 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. - toString() → String
inherited
- A string representation of this object.
Operators
- operator ==(Object other) → bool
inherited
- The equality operator.
Static Properties
- current → IOOverrides?
read-only
- global ← IOOverrides?
write-only
- The IOOverrides to use in the root Zone.
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, int sourcePort, Duration? timeout})?, Future<ConnectionTask<Socket>> socketStartConnect(dynamic, int, {dynamic sourceAddress, int sourcePort})?, Future<ServerSocket> serverSocketBind(dynamic, int, {int backlog, bool shared, bool v6Only})?, Stdin stdin()?, Stdout stdout()?, Stdout stderr()?}) → R
- Runs
body in a fresh Zone using the provided overrides.