24 lines
1.0 KiB
JavaScript
24 lines
1.0 KiB
JavaScript
import * as globals from '../../lib/globals.mjs'
|
|
import * as idbactions from './idbactions.mjs'
|
|
import * as test from '../../lib/testing.mjs'
|
|
|
|
idbactions.deleteDB().then(() => idbactions.openDB()).then(db => {
|
|
test.run('update lifetime 1', async (testname) => {
|
|
const update = new Uint8Array([1, 2, 3]).buffer
|
|
const t = idbactions.createTransaction(db)
|
|
idbactions.writeInitialRoomData(t, testname, 42, 1, new Uint8Array([0]).buffer)
|
|
const clientConf = await idbactions.writeClientUnconfirmed(t, testname, update)
|
|
await idbactions.writeHostUnconfirmedByClient(t, clientConf, 0)
|
|
await idbactions.writeConfirmedByHost(t, testname, 4)
|
|
const metas = await idbactions.getRoomMetas(t)
|
|
const roommeta = metas.find(meta => meta.room === testname)
|
|
if (roommeta == null || roommeta.offset !== 4 || roommeta.rsid !== 42) {
|
|
throw globals.error()
|
|
}
|
|
const data = await idbactions.getRoomData(t, testname)
|
|
if (!test.compareArrays(new Uint8Array(data), new Uint8Array([0, 1, 2, 3]))) {
|
|
throw globals.error()
|
|
}
|
|
})
|
|
})
|