mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-11 15:04:52 +09:00
Test the download race and cleared requests without inventories
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
905560d17b
commit
923ba10d2a
2 files changed
+17
-3
No files matched your search
@@ -148,5 +148,14 @@ describe("player_sync components", function() {
|
||||
const merged = mergePlayerData(storedSlots, withComponents(noSlots, []));
|
||||
assert.equal("personal_logistic_slots" in merged, false);
|
||||
});
|
||||
it("should take cleared logistic requests from an upload without inventories", function() {
|
||||
const storedSlots = { ...stored, personal_logistic_slots: [{ name: "stored" }] };
|
||||
// Factorio 1.1 serializes a character without requests as an empty table
|
||||
const cleared = { ...uploaded, personal_logistic_slots: {} };
|
||||
delete cleared.character;
|
||||
delete cleared.crafting_queue;
|
||||
const merged = mergePlayerData(storedSlots, withComponents(cleared, ["inventories"]));
|
||||
assert.deepEqual(merged.personal_logistic_slots, {});
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -135,9 +135,14 @@ describe("player_sync", function() {
|
||||
const expected = { generation: 1, name: "test", tag: "tag" };
|
||||
assert.deepEqual(instance.server.rconCommands, [downloadCommand(expected)]);
|
||||
});
|
||||
it("should ignore config changes made after the download was started", async function() {
|
||||
instance.mockConfigEntries.set("player_sync.sync_force", false);
|
||||
respondWith({ generation: 1, name: "test", force: "enemy", tag: "tag" });
|
||||
it("should ignore config changes made while the controller responds", async function() {
|
||||
instance.connector.once("send", message => {
|
||||
instance.mockConfigEntries.set("player_sync.sync_force", false);
|
||||
instance.connector.emit("message", new lib.MessageResponse(
|
||||
1, message.dst, message.src,
|
||||
new DownloadResponse({ generation: 1, name: "test", force: "enemy", tag: "tag" }),
|
||||
));
|
||||
});
|
||||
await download({ player_name: "test", components: { force: true } });
|
||||
const expected = { generation: 1, name: "test", force: "enemy" };
|
||||
assert.deepEqual(instance.server.rconCommands, [downloadCommand(expected)]);
|
||||
|
||||
Reference in new issue
Block a user