🎉 init

This commit is contained in:
2026-07-01 15:43:18 +02:00
commit 2f492c55be
64 changed files with 11645 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
import { describe, expect, it } from 'vitest'
import { readIdentity, writeIdentity } from './identity'
function createMockStorage(): Storage {
const store = new Map<string, string>()
return {
getItem: (key: string) => store.get(key) ?? null,
setItem: (key: string, value: string) => void store.set(key, value),
removeItem: (key: string) => void store.delete(key),
clear: () => store.clear(),
key: () => null,
get length() { return store.size },
}
}
describe('identity storage', () => {
it('returns null when nothing is stored', () => {
expect(readIdentity(createMockStorage())).toBeNull()
})
it('round-trips a written identity', () => {
const storage = createMockStorage()
writeIdentity(storage, { name: 'Alice' })
expect(readIdentity(storage)).toEqual({ name: 'Alice' })
})
it('ignores malformed JSON', () => {
const storage = createMockStorage()
storage.setItem('stb:identity', '{not json')
expect(readIdentity(storage)).toBeNull()
})
it('ignores an empty stored name', () => {
const storage = createMockStorage()
storage.setItem('stb:identity', JSON.stringify({ name: ' ' }))
expect(readIdentity(storage)).toBeNull()
})
it('overwrites a previously stored identity', () => {
const storage = createMockStorage()
writeIdentity(storage, { name: 'Alice' })
writeIdentity(storage, { name: 'Bob' })
expect(readIdentity(storage)).toEqual({ name: 'Bob' })
})
})