apple_kit

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

RadrootsAppleDocumentScannerTests.swift (1314B)


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