W3cubDocs

/Dart 2

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

hashCodeint
read-only, inherited
The hash code for this object. [...]
runtimeTypeType
read-only, inherited
A representation of the runtime type of the object.

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. [...]
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
inherited
Invoked when a non-existent method or property is accessed. [...]
toString() → String
inherited
Returns a string representation of this object.

Operators

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

Static Properties

currentIOOverrides
read-only
globalIOOverrides
write-only
The IOOverrides to use in the root Zone. [...]

Static Methods

runWithIOOverrides<R>(R body(), IOOverrides overrides, { ZoneSpecification zoneSpecification, Function onError }) → 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 }), ZoneSpecification zoneSpecification, Function onError }) → R
Runs body in a fresh Zone using the provided overrides. [...]

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dart.dev/stable/2.5.0/dart-io/IOOverrides-class.html