the readFile specification says that it read files encoded in utf8 only.  If it can read binary files and "utf-8" is passed as the encoding specification to readFile then it should fail if the file is or cannot be converted to utf-8.  That should exclude binary files.  Where it may fail is with UTF16 or UTF32.  Currently none of our implementations will read UTF16 or UTF32 with a BOM.  Linux and Mac will read UTF16 / 32 without a BOM but it treats them as UTF8 because it assumes files without a BOM are ANSI/UTF8. Windows Fails for all cases because it can check for triple NULLS and bytes that are > 0x7F

The real issue is if a swappable file system can convert UTF16 or UTF32 to UTF8 then 2 tests will fail.  Both tests say "It should return an error trying to read a UTF(16/32) file" so that should indicate a new behavior and should be addressed then.