mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-13 21:42:03 +00:00
fix: pass Godot 4.7 multiplayer test suite
This commit is contained in:
@@ -13,11 +13,12 @@ func test_ticket_projection_accepts_ordered_updates_and_exposes_cancel() -> void
|
||||
|
||||
func test_ticket_projection_rejects_gap_and_wrong_ticket_without_mutation() -> void:
|
||||
var state := MatchmakingState.new()
|
||||
state.begin_queue("ticket-1", "casual")
|
||||
var resync_id := ""
|
||||
state.resync_required.connect(func(id: String) -> void: resync_id = id)
|
||||
assert_true(state.begin_queue("ticket-1", "casual"), "queue setup succeeds")
|
||||
assert_eq(state.ticket_id, "ticket-1", "queue setup retains ticket identity")
|
||||
var resync_ids: Array[String] = [""]
|
||||
state.resync_required.connect(func(id: String) -> void: resync_ids[0] = id)
|
||||
assert_true(not state.apply_ticket_update({"ticket_id": "ticket-2", "revision": 1, "state": "PROPOSED"}), "another player's ticket is rejected")
|
||||
assert_eq(resync_id, "ticket-1", "wrong resource requests recovery for current ticket")
|
||||
assert_eq(resync_ids[0], "ticket-1", "wrong resource requests recovery for current ticket")
|
||||
assert_eq(state.phase, MatchmakingState.QUEUED, "invalid update cannot mutate phase")
|
||||
assert_true(state.needs_resync, "invalid identity is visible to recovery")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user