import Testing import UIKit @testable import 体己 @MainActor struct FileVaultTests { private func makeIsolatedVault() throws -> FileVault { let temp = FileManager.default.temporaryDirectory .appendingPathComponent(UUID().uuidString, isDirectory: true) return try FileVault(rootURL: temp) } @Test func writeAndReadJPEGRoundtrip() throws { let vault = try makeIsolatedVault() let image = UIImage(systemName: "doc")! let saved = try vault.writeJPEG(image, quality: 0.8) #expect(saved.bytes > 0) #expect(saved.relativePath.hasSuffix(".jpg")) let loaded = try vault.loadImage(relativePath: saved.relativePath) #expect(loaded.size != .zero) } @Test func removeMakesFileGone() throws { let vault = try makeIsolatedVault() let saved = try vault.writeJPEG(UIImage(systemName: "doc")!) try vault.remove(relativePath: saved.relativePath) #expect(throws: (any Error).self) { _ = try vault.loadImage(relativePath: saved.relativePath) } } @Test func wipeRemovesAllFiles() throws { let vault = try makeIsolatedVault() let a = try vault.writeJPEG(UIImage(systemName: "doc")!) let b = try vault.writeJPEG(UIImage(systemName: "folder")!) try vault.wipe() #expect(throws: (any Error).self) { _ = try vault.loadImage(relativePath: a.relativePath) } #expect(throws: (any Error).self) { _ = try vault.loadImage(relativePath: b.relativePath) } } }