diff --git a/sdk/lib/io/overrides.dart b/sdk/lib/io/overrides.dart index b7334c825d5..4a4586dc471 100644 --- a/sdk/lib/io/overrides.dart +++ b/sdk/lib/io/overrides.dart @@ -259,7 +259,10 @@ abstract base class IOOverrides { /// When this override is installed, this function overrides the behavior of /// `FileSystemEntity.type`. Future fseGetType(String path, bool followLinks) { - return FileSystemEntity._getTypeRequest(utf8.encode(path), followLinks); + return FileSystemEntity._getTypeRequest( + FileSystemEntity._toUtf8Array(path), + followLinks, + ); } /// Returns the [FileSystemEntityType] for [path]. @@ -267,7 +270,10 @@ abstract base class IOOverrides { /// When this override is installed, this function overrides the behavior of /// `FileSystemEntity.typeSync`. FileSystemEntityType fseGetTypeSync(String path, bool followLinks) { - return FileSystemEntity._getTypeSyncHelper(utf8.encode(path), followLinks); + return FileSystemEntity._getTypeSyncHelper( + FileSystemEntity._toUtf8Array(path), + followLinks, + ); } // _FileSystemWatcher diff --git a/tests/standalone/io/io_override_test.dart b/tests/standalone/io/io_override_test.dart index 843082f2c49..8445d55bf46 100644 --- a/tests/standalone/io/io_override_test.dart +++ b/tests/standalone/io/io_override_test.dart @@ -349,9 +349,22 @@ void emptyIOOverride() { ); } -main() async { +Future emptyIOOverrideAsync() async { + await IOOverrides.runWithIOOverrides( + () async => Expect.equals( + await FileSystemEntity.type('/'), + FileSystemEntityType.directory, + ), + EmptyOverride(), + ); +} + +void main() async { + asyncStart(); await ioOverridesRunTest(); globalIOOverridesTest(); globalIOOverridesZoneTest(); emptyIOOverride(); + await emptyIOOverrideAsync(); + asyncEnd(); }