import test from 'node:test' import assert from 'node:assert/strict' import { loadPrefs, savePrefs } from '../src/lib/prefs.ts' test('screen-off preference migrates old settings and survives unrelated updates', () => { const storage = new Map([['ituoke.prefs.v1', JSON.stringify({ connectHost: 'phone:1234' })]]) globalThis.localStorage = { getItem: key => storage.get(key) ?? null, setItem: (key, value) => storage.set(key, value), } assert.equal(loadPrefs().screenOff, false) savePrefs({ screenOff: true }) savePrefs({ theme: 'dark' }) assert.equal(loadPrefs().screenOff, true) assert.equal(loadPrefs().connectHost, 'phone:1234') savePrefs({ screenOff: false }) assert.equal(loadPrefs().screenOff, false) storage.set('ituoke.prefs.v1', JSON.stringify({ screenOff: 'true' })) assert.equal(loadPrefs().screenOff, false) delete globalThis.localStorage })