TeraMediaFileFixture.swift (628B)
1 import Foundation 2 @testable import TeraApp 3 4 enum TeraMediaFileFixture { 5 static func open(_ media: [TeraPreparedMedia], bytes: Data) throws -> TeraOpenedMedia { 6 let url = FileManager.default.temporaryDirectory.appendingPathComponent(UUID().uuidString) 7 try bytes.write(to: url) 8 defer { try? FileManager.default.removeItem(at: url) } 9 let original = try FileHandle(forReadingFrom: url) 10 defer { try? original.close() } 11 return try TeraOpenedMedia( 12 handles: media.map { 13 try TeraPreparedMediaHandle(media: $0, fileDescriptor: UInt64(original.fileDescriptor)) 14 }, 15 files: [] 16 ) 17 } 18 }