Files
ichmagmaus111andClaude Opus 5.5 0622057a4f Ghostgram: open-source release
Ghostgram for iOS, rebuilt from scratch on Telegram iOS 13.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 17:57:09 +01:00

50 lines
1.6 KiB
Swift

import XCTest
@testable import WebProxyTransport
final class WebProxyDemandSetTests: XCTestCase {
func testEmptyByDefault() {
let demand = WebProxyDemandSet()
XCTAssertTrue(demand.isEmpty)
}
func testFirstLeaseFlipsAndRepeatDoesNot() {
var demand = WebProxyDemandSet()
XCTAssertTrue(demand.set("a", wanted: true))
XCTAssertFalse(demand.isEmpty)
XCTAssertFalse(demand.set("a", wanted: true))
XCTAssertFalse(demand.isEmpty)
}
func testLastReleaseFlipsAndRepeatDoesNot() {
var demand = WebProxyDemandSet()
_ = demand.set("a", wanted: true)
XCTAssertTrue(demand.set("a", wanted: false))
XCTAssertTrue(demand.isEmpty)
XCTAssertFalse(demand.set("a", wanted: false))
XCTAssertTrue(demand.isEmpty)
}
func testSecondHolderKeepsItAliveUntilBothRelease() {
var demand = WebProxyDemandSet()
XCTAssertTrue(demand.set("a", wanted: true))
XCTAssertFalse(demand.set("b", wanted: true))
XCTAssertFalse(demand.set("a", wanted: false))
XCTAssertFalse(demand.isEmpty)
XCTAssertTrue(demand.set("b", wanted: false))
XCTAssertTrue(demand.isEmpty)
}
func testReleasingAnUnknownTokenIsInert() {
var demand = WebProxyDemandSet()
_ = demand.set("a", wanted: true)
XCTAssertFalse(demand.set("never-added", wanted: false))
XCTAssertFalse(demand.isEmpty)
}
func testDistinctTokenTypesDoNotCollide() {
var demand = WebProxyDemandSet()
XCTAssertTrue(demand.set(UUID(), wanted: true))
XCTAssertFalse(demand.set(UUID(), wanted: true))
}
}