apple_kit

Apple-native services for Radroots iOS and macOS apps
git clone https://radroots.dev/git/apple_kit.git
Log | Files | Refs | README | LICENSE

RadrootsAppleDocumentScannerTests.swift (1320B)


      1 import Foundation
      2 import Testing
      3 
      4 @testable import RadrootsKit
      5 
      6 #if !(canImport(UIKit) && canImport(VisionKit))
      7     @Test func appleDocumentScannerReportsUnavailableWithoutVisionKitScanner() async throws {
      8         let scanner = try RadrootsAppleDocumentScanner(fileAccess: documentScannerTestFileAccess())
      9         let support = try await scanner.currentSupport()
     10 
     11         #expect(!support.interactiveScanAvailable)
     12         #expect(!support.multiPageSupported)
     13         #expect(support.supportedOutputKinds.isEmpty)
     14 
     15         await #expect(throws: RadrootsCaptureIntakeError.unavailable) {
     16             _ = try await scanner.scanDocument(RadrootsDocumentScanRequest())
     17         }
     18     }
     19 #endif
     20 
     21 private func documentScannerTestFileAccess() throws -> RadrootsAppleFileAccess {
     22     let root = FileManager.default.temporaryDirectory
     23         .appendingPathComponent("radroots-document-scanner-\(UUID().uuidString)", isDirectory: true)
     24     let roots = try RadrootsAppleFileRoots(
     25         appIdentifier: "org.radroots.document-scanner-test",
     26         dataRoot: root.appendingPathComponent("data", isDirectory: true),
     27         cacheRoot: root.appendingPathComponent("cache", isDirectory: true),
     28         temporaryRoot: root.appendingPathComponent("temporary", isDirectory: true)
     29     )
     30     return RadrootsAppleFileAccess(roots: roots)
     31 }