mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-16 23:52:40 -06:00
56 lines
1.9 KiB
Swift
56 lines
1.9 KiB
Swift
import Foundation
|
|
import Testing
|
|
@testable import OpenClawKit
|
|
|
|
struct InstanceIdentityTests {
|
|
private let version = OperatingSystemVersion(majorVersion: 26, minorVersion: 5, patchVersion: 0)
|
|
|
|
@Test func `iOS app on Mac avoids physical iPad identity`() {
|
|
let metadata = AppleMobileInstanceMetadata.resolve(
|
|
version: self.version,
|
|
interfaceIdiom: .pad,
|
|
isIOSAppOnMac: true,
|
|
rawModelIdentifier: "iPad16,6")
|
|
|
|
#expect(metadata.platformString == "iOS 26.5.0")
|
|
#expect(metadata.deviceFamily == "iOS")
|
|
#expect(metadata.modelIdentifier == "Apple Silicon Mac")
|
|
}
|
|
|
|
@Test func `physical iPad keeps iPad metadata`() {
|
|
let metadata = AppleMobileInstanceMetadata.resolve(
|
|
version: self.version,
|
|
interfaceIdiom: .pad,
|
|
isIOSAppOnMac: false,
|
|
rawModelIdentifier: " iPad16,6 ")
|
|
|
|
#expect(metadata.platformString == "iPadOS 26.5.0")
|
|
#expect(metadata.deviceFamily == "iPad")
|
|
#expect(metadata.modelIdentifier == "iPad16,6")
|
|
}
|
|
|
|
@Test func `physical iPhone keeps iPhone metadata`() {
|
|
let metadata = AppleMobileInstanceMetadata.resolve(
|
|
version: self.version,
|
|
interfaceIdiom: .phone,
|
|
isIOSAppOnMac: false,
|
|
rawModelIdentifier: "iPhone17,1")
|
|
|
|
#expect(metadata.platformString == "iOS 26.5.0")
|
|
#expect(metadata.deviceFamily == "iPhone")
|
|
#expect(metadata.modelIdentifier == "iPhone17,1")
|
|
}
|
|
|
|
@Test func `blank physical model identifier is omitted`() {
|
|
let metadata = AppleMobileInstanceMetadata.resolve(
|
|
version: self.version,
|
|
interfaceIdiom: .other,
|
|
isIOSAppOnMac: false,
|
|
rawModelIdentifier: " \n ")
|
|
|
|
#expect(metadata.platformString == "iOS 26.5.0")
|
|
#expect(metadata.deviceFamily == "iOS")
|
|
#expect(metadata.modelIdentifier == nil)
|
|
}
|
|
}
|