import test from 'node:test'; import assert from 'node:assert/strict'; import { readSave, writeSave, clearSave } from '../src/engine/storage.js'; import { memoryStorage } from './helpers.mjs'; test('scrive, rilegge e cancella il salvataggio', () => { const s = memoryStorage(); assert.equal(readSave(s), null); assert.ok(writeSave(s, { scene: 'piazza' })); assert.deepEqual(readSave(s), { scene: 'piazza' }); assert.ok(clearSave(s)); assert.equal(readSave(s), null); }); test('un archivio rotto o bloccato non fa cadere il gioco', () => { const broken = { getItem() { throw new Error('bloccato'); }, setItem() { throw new Error('pieno'); }, removeItem() { throw new Error('no'); } }; assert.equal(readSave(broken), null); assert.equal(writeSave(broken, {}), false); assert.equal(clearSave(broken), false); const garbage = memoryStorage(); garbage.setItem('leggenda-regolo-save', '{non รจ json'); assert.equal(readSave(garbage), null); });