fix: pass Godot 4.7 multiplayer test suite

This commit is contained in:
Josh Creek
2026-09-01 08:24:33 +01:00
parent 76aad61191
commit c5678ce877
5 changed files with 13 additions and 12 deletions
+5 -4
View File
@@ -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")