// modules/test/test-world-model-save.js — run: node modules/test/test-world-model-save.js const fs = require('fs'), path = require('path'); const src = fs.readFileSync(path.join(__dirname, '../core/module-world-model.js'), 'utf8'); const WorldModelModule = new Function(src + '\nreturn WorldModelModule;')(); const wm = new WorldModelModule(); wm._model = { version: 'test', nodes: 1 }; const calls = []; const fake = { readDir: () => [], mkdir: () => {}, readFile: () => '', writeFile: (p) => { calls.push(p); return false; }, // every write fails fsReadJSON: () => ({ version: 'test', nodes: 1 }), // truthy: old code would promote fsWriteJSON: (p) => { calls.push(p); return false; }, deleteFile: () => true, }; const errs = []; const orig = console.error; console.error = (m) => errs.push(String(m)); wm._saveToVFS(fake); console.error = orig; const promoted = calls.some(p => p === '/system/world-model.json'); console.log(JSON.stringify({ calls, errs, promoted })); process.exit(promoted || errs.length === 0 ? 1 : 0);