import Foundation @main struct FolderImportSourceTests { static func rejects(_ sources: [URL]) { do { _ = try FolderImportSource.validate(sources) preconditionFailure("Unexpectedly accepted \(sources)") } catch { precondition(!error.localizedDescription.isEmpty) } } static func main() throws { let root = FileManager.default.temporaryDirectory.appendingPathComponent(UUID().uuidString, isDirectory: true) try FileManager.default.createDirectory(at: root, withIntermediateDirectories: true) defer { try? FileManager.default.removeItem(at: root) } let folder = root.appendingPathComponent("报销 材料", isDirectory: true) try FileManager.default.createDirectory(at: folder, withIntermediateDirectories: true) let validated = try FolderImportSource.validate([folder]) precondition(validated == folder) let file = root.appendingPathComponent("发票.pdf") try Data().write(to: file) let application = root.appendingPathComponent("测试.app", isDirectory: true) try FileManager.default.createDirectory(at: application, withIntermediateDirectories: true) rejects([]) rejects([folder, folder]) rejects([folder, file]) rejects([file]) rejects([application]) rejects([URL(string: "https://example.invalid/materials")!]) rejects([root.appendingPathComponent("不存在")]) print("Folder import validation tests passed") } }