0.10.6
This commit is contained in:
commit
92660a4ba0
228 files changed
+24496
No files matched your search
@@ -0,0 +1,42 @@
|
||||
import Foundation
|
||||
import XCTest
|
||||
@testable import Luma
|
||||
|
||||
final class MediaFileIOTests: XCTestCase {
|
||||
func testStagedDraftSurvivesThePickerURLBeingRemoved() async throws {
|
||||
let sourceDirectory = FileManager.default.temporaryDirectory
|
||||
.appendingPathComponent(UUID().uuidString, isDirectory: true)
|
||||
try FileManager.default.createDirectory(
|
||||
at: sourceDirectory,
|
||||
withIntermediateDirectories: true
|
||||
)
|
||||
let source = sourceDirectory.appendingPathComponent("photo.jpg")
|
||||
let payload = Data([0xFF, 0xD8, 0xFF, 0xD9])
|
||||
try payload.write(to: source)
|
||||
defer { try? FileManager.default.removeItem(at: sourceDirectory) }
|
||||
|
||||
let staged = try await MediaFileIO().stageAttachmentDraft(from: source)
|
||||
defer { try? FileManager.default.removeItem(at: staged.url) }
|
||||
try FileManager.default.removeItem(at: source)
|
||||
|
||||
XCTAssertEqual(staged.filename, "photo.jpg")
|
||||
XCTAssertEqual(staged.byteCount, payload.count)
|
||||
XCTAssertEqual(try Data(contentsOf: staged.url), payload)
|
||||
}
|
||||
|
||||
func testEmptyPickerFileIsRejectedBeforePreviewOrUpload() async throws {
|
||||
let source = FileManager.default.temporaryDirectory
|
||||
.appendingPathComponent("empty-\(UUID().uuidString).mov")
|
||||
try Data().write(to: source)
|
||||
defer { try? FileManager.default.removeItem(at: source) }
|
||||
|
||||
do {
|
||||
_ = try await MediaFileIO().stageAttachmentDraft(from: source)
|
||||
XCTFail("An empty media file must not become a sendable draft")
|
||||
} catch MediaFileIOError.emptyFile(_) {
|
||||
// Expected.
|
||||
} catch {
|
||||
XCTFail("Unexpected error: \(error)")
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user