diff --git a/src/nativeTest/java/games/dmg/fantasystick/FantasyStickLifecycleNativeTest.java b/src/nativeTest/java/games/dmg/fantasystick/FantasyStickLifecycleNativeTest.java index 70c3f43..c3dc824 100644 --- a/src/nativeTest/java/games/dmg/fantasystick/FantasyStickLifecycleNativeTest.java +++ b/src/nativeTest/java/games/dmg/fantasystick/FantasyStickLifecycleNativeTest.java @@ -673,7 +673,13 @@ class FantasyStickLifecycleNativeTest { Path directory = data.resolve(route); if (route.equals("disable")) { var intent = directory.resolve("switch-event-intents").resolve(exitedSession + ".pending"); - assertTrue(java.nio.file.Files.exists(intent), "Shutdown exit intent survives closed event writer"); + var exported=localRecords(directory).stream().filter(entry->entry.get("type").getAsString() + .endsWith("character.switch_delay_started")).filter(entry->{var event=entry.getAsJsonObject("data"); + return event.get("session_id").getAsString().equals(exitedSession.toString()) + &&event.get("exit_operation_id").getAsString().equals(exitedSession.toString()); + }).toList(); + assertTrue(java.nio.file.Files.exists(intent)||!exported.isEmpty(), + "Shutdown exit must retain the exact session's pending intent or exported switch record"); } try (var restarted = new Fixture(directory)) { restarted.plugin.setEnabled(true);