| 230 | ResultErrorFormatStatus::UnknownError); |
| 231 | SC_TEST_EXPECT( |
| 232 | formatFileSystemError(ResultFileSystem(FileSystemError::EntryNotFound, static_cast<FileSystemErrorDetail>(999)), |
| 233 | message) |
| 234 | .status == ResultErrorFormatStatus::UnknownError); |
| 235 | SC_TEST_EXPECT(formatFileSystemError(ResultFileSystem(FileSystemError::EntryNotFound, FileSystemErrorDetail::None, |
| 236 | static_cast<FileSystemErrorContextKind>(999), {}), |
| 237 | message) |
| 238 | .status == ResultErrorFormatStatus::UnknownError); |
| 239 | } |
| 240 | |
| 241 | void SC::FileSystemTest::structuredFacadeFailures() |
| 242 | { |
| 243 | FileSystem uninitialized; |
| 244 | ResultFileSystem result = uninitialized.writeString("__sc_filesystem_uninitialized__", "content"); |
| 245 | SC_TEST_EXPECT(result.isError(FileSystemError::NotInitialized)); |
| 246 | SC_TEST_EXPECT(result.detail == FileSystemErrorDetail::BuildTransportPath); |
| 247 | SC_TEST_EXPECT(result.contextKind == FileSystemErrorContextKind::None); |
| 248 | |
| 249 | bool predicateValue = true; |
| 250 | result = uninitialized.exists("relative", predicateValue); |
| 251 | SC_TEST_EXPECT(result.isError(FileSystemError::NotInitialized)); |
| 252 | SC_TEST_EXPECT(not predicateValue); |
| 253 | |
| 254 | result = uninitialized.removeFileIfExists("relative"); |
| 255 | SC_TEST_EXPECT(result.isError(FileSystemError::NotInitialized)); |
| 256 | result = uninitialized.makeDirectoryIfNotExists("relative"); |
| 257 | SC_TEST_EXPECT(result.isError(FileSystemError::NotInitialized)); |
| 258 | result = uninitialized.copyFile("source", "destination"); |
| 259 | SC_TEST_EXPECT(result.isError(FileSystemError::NotInitialized)); |
| 260 | result = uninitialized.copyDirectory("source", "destination"); |
| 261 | SC_TEST_EXPECT(result.isError(FileSystemError::NotInitialized)); |
| 262 | |
| 263 | FileSystem fileSystem; |
| 264 | SC_TEST_EXPECT(fileSystem.init(report.applicationRootDirectory.view())); |
| 265 | |
| 266 | String contents; |
| 267 | result = fileSystem.read("__sc_filesystem_missing_5423__", contents); |
| 268 | SC_TEST_EXPECT(result.isError(FileSystemError::EntryNotFound)); |
| 269 | SC_TEST_EXPECT(result.detail == FileSystemErrorDetail::OpenFileForRead); |
| 270 | SC_TEST_EXPECT(result.contextKind == FileSystemErrorContextKind::NativeError); |
| 271 | SC_TEST_EXPECT(result.context.nativeError != 0); |
| 272 | |
| 273 | String missingDirectory = StringEncoding::Native; |
| 274 | SC_TEST_EXPECT(Path::join(missingDirectory, |
nothing calls this directly
no test coverage detected