Files
claude-code-haha/native/cu-helper/Tests/CuHelperTests/DisplaySleepAssertionTests.swift
T
2026-09-01 17:31:17 +08:00

40 lines
1.0 KiB
Swift

import XCTest
@testable import cc_haha_computer_use
final class DisplaySleepAssertionTests: XCTestCase {
@MainActor
func testTurnAssertionIsAcquiredAndReleasedExactlyOnce() {
var creates = 0
var releases: [UInt32] = []
let assertion = ComputerUseDisplaySleepAssertion(
create: {
creates += 1
return 42
},
release: { releases.append($0) }
)
assertion.acquire()
assertion.acquire()
XCTAssertTrue(assertion.isHeldForTesting)
XCTAssertEqual(creates, 1)
assertion.release()
assertion.release()
XCTAssertFalse(assertion.isHeldForTesting)
XCTAssertEqual(releases, [42])
assertion.acquire()
XCTAssertEqual(creates, 2)
}
@MainActor
func testFailedPowerAssertionDoesNotPretendItIsHeld() {
let assertion = ComputerUseDisplaySleepAssertion(create: { nil })
assertion.acquire()
XCTAssertFalse(assertion.isHeldForTesting)
}
}