1
This commit is contained in:
@@ -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")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user