up
This commit is contained in:
@@ -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)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user