引入进程级 CameraTetheringSession 与共享 USB Browser;离开传图页仅取消 UI 回调,App 终止时再完整 shutdown 释放 PTP 与 Browser 资源。 Co-authored-by: Cursor <cursoragent@cursor.com>
35 lines
1.0 KiB
Swift
35 lines
1.0 KiB
Swift
//
|
|
// CameraServiceFactoryTests.swift
|
|
// suixinkanTests
|
|
//
|
|
|
|
import XCTest
|
|
@testable import suixinkan
|
|
|
|
/// CameraServiceFactory 测试。
|
|
@MainActor
|
|
final class CameraServiceFactoryTests: XCTestCase {
|
|
func testMakeSonyReturnsSonyService() {
|
|
let service = CameraServiceFactory.make(brand: .sony)
|
|
XCTAssertTrue(service is SonyCameraService)
|
|
XCTAssertEqual(service.brand, .sony)
|
|
}
|
|
|
|
func testMakeCanonReturnsCanonService() {
|
|
let service = CameraServiceFactory.make(brand: .canon)
|
|
XCTAssertTrue(service is CanonCameraService)
|
|
XCTAssertEqual(service.brand, .canon)
|
|
}
|
|
|
|
func testMakeAutoDetectReturnsAutoDetectService() {
|
|
let service = CameraServiceFactory.makeAutoDetect()
|
|
XCTAssertTrue(service is AutoDetectCameraService)
|
|
}
|
|
|
|
func testMakeAutoDetectReturnsSharedInstance() {
|
|
let first = CameraServiceFactory.makeAutoDetect()
|
|
let second = CameraServiceFactory.makeAutoDetect()
|
|
XCTAssertTrue(first === second)
|
|
}
|
|
}
|