Move Factorio server implementation to host

Move Factorio related code in lib that's only used by the host into the
host package.
This commit is contained in:
Hornwitser committed 2023-07-28 16:03:29 +02:00
1 parent bc574ee1cb
commit 6af25e085c
13 files changed
+95 -100

No files matched your search

+4 -3
View File
@@ -2,17 +2,18 @@
const assert = require("assert").strict;
const path = require("path");
const lib = require("@clusterio/lib");
const { _exportLocale } = require("@clusterio/host/src/export");
const { FactorioServer } = require("@clusterio/host/src/server");
describe("Integration of lib/factorio/export", function() {
describe("exportLocale()", function() {
it("returns a nested Map with base game locale information", async function() {
let writePath = path.join("temp", "test", "server");
let testServer = new lib.FactorioServer("factorio", writePath, {});
let testServer = new FactorioServer("factorio", writePath, {});
await testServer.init();
let locale = await lib._exportLocale(testServer, new Map(), ["base"], "en");
let locale = await _exportLocale(testServer, new Map(), ["base"], "en");
assert(locale instanceof Map, "locale is not a map");
assert.equal(locale.get("entity-name.fish"), "Fish");
+3 -3
View File
@@ -4,7 +4,7 @@ const fs = require("fs-extra");
const JSZip = require("jszip");
const path = require("path");
const lib = require("@clusterio/lib");
const { patch } = require("@clusterio/host/src/patch");
const { slowTest } = require("./index");
@@ -17,7 +17,7 @@ describe("Integration of lib/factorio/patch", function() {
let savePath = path.join("temp", "test", "integration", "saves", "test.zip");
it("should patch a freeplay game", async function() {
slowTest(this);
await lib.patch(savePath, [{
await patch(savePath, [{
name: "test",
version: "1.0.0",
dependencies: {},
@@ -39,7 +39,7 @@ describe("Integration of lib/factorio/patch", function() {
});
it("should remove old modules in a save", async function() {
slowTest(this);
await lib.patch(savePath, []);
await patch(savePath, []);
let zip = await JSZip.loadAsync(await fs.readFile(savePath));
assert.equal(zip.file("test/modules/test/test.lua"), null);
});
+4 -3
View File
@@ -5,15 +5,16 @@ const fs = require("fs-extra");
const path = require("path");
const lib = require("@clusterio/lib");
const { FactorioServer, _getVersion } = require("@clusterio/host/src/server");
const { logger } = lib;
const { slowTest } = require("./index");
describe("Integration of lib/factorio/server", function() {
describe("Integration of host/src/server", function() {
describe("_getVersion()", function() {
it("should get a version from factorio's changelog.txt", async function() {
let version = await lib._getVersion(path.join("factorio", "data", "changelog.txt"));
let version = await _getVersion(path.join("factorio", "data", "changelog.txt"));
if (!/^\d+\.\d+\.\d+$/.test(version)) {
assert.fail(`Detected version '${version}' does not followed the format x.y.z`);
}
@@ -22,7 +23,7 @@ describe("Integration of lib/factorio/server", function() {
describe("class FactorioServer", function() {
let writePath = path.join("temp", "test", "integration");
let server = new lib.FactorioServer("factorio", writePath, {});
let server = new FactorioServer("factorio", writePath, {});
let logFile;
before(async function() {