mirror of
https://github.com/ichmagmaus111/ghostgram.git
synced 2026-11-05 07:02:48 +01:00
Ghostgram for iOS, rebuilt from scratch on Telegram iOS 13.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
50 lines
1.6 KiB
Swift
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))
|
|
}
|
|
}
|