This commit is contained in:
2026-10-18 03:11:10 +07:00
parent 8610f45a29
commit 3e2608eae3
23 changed files with 1460 additions and 302 deletions
+28 -1
View File
@@ -41,7 +41,12 @@ function testPackage(): LocalPackage {
key: packageKey(pkg.server, 7),
version: 'a'.repeat(64),
package: pkg,
files: [],
files: pkg.assets.map((asset) => ({
id: asset.id,
size: 1,
sha256: 'b'.repeat(64),
mime: 'audio/wav',
})),
}
}
@@ -264,3 +269,25 @@ test('DOM: повторный play перезагружает источник
assert.equal(f.audio.paused, false)
assert.equal(f.reports.at(-1)!.status, 'playing')
})
test('DOM: следующий трек не предзагружается до завершения локального файла', async (t) => {
const f = await fixture(t)
const next = f.c.state.catalog.playlists[0]!.tracks[1]!.source
next.ready = false
send(f.c, { action: 'play', channel: 'music' })
f.apply()
await setImmediate()
const playing = [f.a, f.b].find((media) => !media.paused)!
const spare = [f.a, f.b].find((media) => media !== playing)!
assert.equal(spare.src, '')
f.c.markAssetReady(next.url.split('/').at(-1)!)
f.apply()
await setImmediate()
assert.equal(spare.src, next.url)
assert.equal(spare.playCalls, 0)
send(f.c, { action: 'next', channel: 'music' })
f.apply()
await setImmediate()
assert.equal(spare.paused, false)
assert.equal(playing.paused, true)
})