This commit is contained in:
csj
2026-09-16 13:07:16 +08:00
parent 4b49b09230
commit 1ed83d62b3
5 changed files with 115 additions and 4 deletions
+35
View File
@@ -0,0 +1,35 @@
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")
}
}