完善 OTG 相机有线传图:支持 Sony/Canon 自动识别,页面 detach 保持会话以便再次进入复连。
引入进程级 CameraTetheringSession 与共享 USB Browser;离开传图页仅取消 UI 回调,App 终止时再完整 shutdown 释放 PTP 与 Browser 资源。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@ -0,0 +1,24 @@
|
||||
//
|
||||
// CameraTetheringSessionTests.swift
|
||||
// suixinkanTests
|
||||
//
|
||||
|
||||
import XCTest
|
||||
@testable import suixinkan
|
||||
|
||||
/// CameraTetheringSession 与 detach/shutdown 语义测试。
|
||||
@MainActor
|
||||
final class CameraTetheringSessionTests: XCTestCase {
|
||||
func testSharedServiceIsAutoDetectInstance() {
|
||||
XCTAssertTrue(CameraTetheringSession.sharedService is AutoDetectCameraService)
|
||||
}
|
||||
|
||||
func testDetachFromUIClearsCallbacksWithoutChangingConnectionState() {
|
||||
let service = AutoDetectCameraService()
|
||||
service.onConnectionStateChange = { _ in }
|
||||
service.onNewAsset = { _ in }
|
||||
service.detachFromUI()
|
||||
XCTAssertNil(service.onConnectionStateChange)
|
||||
XCTAssertNil(service.onNewAsset)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user