mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-16 14:28:36 +02:00
46 lines
2.3 KiB
TypeScript
46 lines
2.3 KiB
TypeScript
import { RunningScript } from "../../../src/Script/RunningScript";
|
|
import { Reviver } from "../../../src/utils/GenericReviver";
|
|
import { Script } from "../../../src/Script/Script";
|
|
import { ScriptFilePath } from "../../../src/Paths/ScriptFilePath";
|
|
|
|
describe("Validate that a RunningScript can be saved and loaded", () => {
|
|
it("Save and Load", function () {
|
|
const hostname = "__proto__";
|
|
const filename = "test.js" as ScriptFilePath;
|
|
const args = ["arg1", "arg2"];
|
|
const ramUsage = 1.7;
|
|
|
|
const script = new Script(filename, "", hostname);
|
|
|
|
const runningScript = new RunningScript(script, ramUsage, args);
|
|
runningScript.dataMap.set(hostname, [1000, 2, 3, 4]);
|
|
|
|
const json = JSON.stringify(runningScript);
|
|
const revivedRunningScript = JSON.parse(json, Reviver) as RunningScript;
|
|
|
|
expect(revivedRunningScript).toBeInstanceOf(RunningScript);
|
|
expect(revivedRunningScript.filename).toEqual(filename);
|
|
expect(revivedRunningScript.server).toEqual(hostname);
|
|
expect(revivedRunningScript.args).toEqual(args);
|
|
expect(revivedRunningScript.ramUsage).toEqual(ramUsage);
|
|
expect(revivedRunningScript.dataMap.get(hostname)).toEqual([1000, 2, 3, 4]);
|
|
});
|
|
|
|
it("Loads a standard savefile shape", () => {
|
|
const data = ` {"ctor":"RunningScript","data":{"args":["arg1","arg2"],"dataMap":{"testserver":[1000,2,3,4]},"filename":"test.js","offlineExpGained":0,"offlineMoneyMade":0,"offlineRunningTime":0.01,"onlineExpGained":0,"onlineMoneyMade":0,"onlineRunningTime":0.01,"ramUsage":1.7,"server":"testserver","scriptKey":"test.js*[\\"arg1\\",\\"arg2\\"]","stdin":null,"tailOutputPipeConfig":null,"terminalOutputPipeConfig":null,"title":"test.js arg1 arg2","threads":1,"temporary":false}}`;
|
|
const hostname = "testserver";
|
|
const filename = "test.js" as ScriptFilePath;
|
|
const args = ["arg1", "arg2"];
|
|
const ramUsage = 1.7;
|
|
|
|
const revivedRunningScript = JSON.parse(data, Reviver) as RunningScript;
|
|
|
|
expect(revivedRunningScript).toBeInstanceOf(RunningScript);
|
|
expect(revivedRunningScript.filename).toEqual(filename);
|
|
expect(revivedRunningScript.server).toEqual(hostname);
|
|
expect(revivedRunningScript.ramUsage).toEqual(ramUsage);
|
|
expect(revivedRunningScript.args).toEqual(args);
|
|
expect(revivedRunningScript.dataMap.get(hostname)).toEqual([1000, 2, 3, 4]);
|
|
});
|
|
});
|