IOOverrides class abstract
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
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- stderr → Stdout
-
The standard output stream of errors written by this program.
no setter
- stdin → Stdin
-
The standard input stream of data read by this program.
no setter
- stdout → Stdout
-
The standard output stream of data written by this program.
no setter
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
forpath
. -
fseGetTypeSync(
String path, bool followLinks) → FileSystemEntityType -
Returns the FileSystemEntityType for
path
. -
fseIdentical(
String path1, String path2) → Future< bool> -
Asynchronously returns
true
ifpath1
andpath2
are paths to the same file system object. -
fseIdenticalSync(
String path1, String path2) → bool -
Returns
true
ifpath1
andpath2
are paths to the same file system object. -
fsWatch(
String path, int events, bool recursive) → Stream< FileSystemEvent> -
Returns a Stream of
FileSystemEvent
s. -
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 -
Invoked when a nonexistent method or property is accessed.
inherited
-
serverSocketBind(
dynamic address, int port, {int backlog = 0, bool v6Only = 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 forpath
. -
statSync(
String path) → FileStat -
Returns FileStat information for
path
. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- current → IOOverrides?
-
no setter
- global ← IOOverrides?
-
The IOOverrides to use in the root Zone.
no getter
Static Methods
-
runWithIOOverrides<
R> (R body(), IOOverrides overrides) → R -
Runs
body
in a fresh Zone using the overrides found inoverrides
. -
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< socketStartConnect(dynamic, int, {dynamic sourceAddress, int sourcePort})?, Future<Socket> >ServerSocket> serverSocketBind(dynamic, int, {int backlog, bool v6Only})?, Stdin stdin()?, Stdout stdout()?, Stdout stderr()?}) → R -
Runs
body
in a fresh Zone using the provided overrides.