56 lines
1.7 KiB
JavaScript
56 lines
1.7 KiB
JavaScript
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
// Mock window and MagicBot
|
|
const callbacks = {};
|
|
global.window = {
|
|
MagicBot: {
|
|
state: {},
|
|
events: {
|
|
emit: (event, data) => console.log(`[Event] ${event} emitted`)
|
|
},
|
|
on: (event, callback) => {
|
|
callbacks[event] = callback;
|
|
}
|
|
}
|
|
};
|
|
|
|
// Load fullstate.json
|
|
const fullStatePath = '/home/matiss/Documents/Code/magicbot/fullstate.json';
|
|
const fullState = JSON.parse(fs.readFileSync(fullStatePath, 'utf8'));
|
|
|
|
// Load state.js content
|
|
const stateJsPath = '/home/matiss/Documents/Code/magicbot/extension/modules/state.js';
|
|
const stateJsContent = fs.readFileSync(stateJsPath, 'utf8');
|
|
|
|
// Execute state.js
|
|
eval(stateJsContent);
|
|
|
|
// Simulate receiving the 'Welcome' packet
|
|
if (callbacks['packet_received']) {
|
|
console.log("Simulating packet_received with fullstate.json...");
|
|
// The message structure in handleWelcome expects 'msg' to be the object that contains 'fullState' property
|
|
// Looking at fullstate.json, it has "type": "Welcome", and "fullState": { ... }
|
|
// So we pass the whole object.
|
|
callbacks['packet_received'](fullState);
|
|
} else {
|
|
console.error("No packet_received listener registered!");
|
|
process.exit(1);
|
|
}
|
|
|
|
// Verify results
|
|
const state = global.window.MagicBot.state;
|
|
console.log("--- Verification Results ---");
|
|
console.log("PlayerID:", state.playerId);
|
|
console.log("Garden present:", !!state.garden);
|
|
console.log("Inventory present:", !!state.inventory);
|
|
console.log("Shops present:", !!state.shops);
|
|
|
|
if (state.garden && state.inventory && state.shops) {
|
|
console.log("SUCCESS: All key state properties populated.");
|
|
} else {
|
|
console.error("FAILURE: Missing state properties.");
|
|
process.exit(1);
|
|
}
|