test(multiple-subtitles): checkpoint native seek diagnostics [PKG-MULTI-SUB-05]

This commit is contained in:
Harvey Zhao committed 2026-09-14 14:03:22 +08:00
1 parent 318de37e8a
commit a8d19ce5ef
10 files changed
+7266 -8

No files matched your search

+31
View File
@@ -0,0 +1,31 @@
export async function switchAfterNativeRestoration(page, url) {
await page.evaluate((url) => {
const art = window.art
if (url === art.url)
return art.switchUrl(url)
const video = art.video
let resolveRestored
const restored = new Promise((resolve) => {
resolveRestored = resolve
})
const onSeeked = () => resolveRestored()
const onMetadata = () => {
if (video.seeking)
video.addEventListener('seeked', onSeeked, { once: true })
else
resolveRestored()
}
const cleanup = () => {
video.removeEventListener('loadedmetadata', onMetadata)
video.removeEventListener('seeked', onSeeked)
}
video.addEventListener('loadedmetadata', onMetadata, { once: true })
try {
return Promise.all([art.switchUrl(url), restored]).then(() => undefined).finally(cleanup)
}
catch (error) {
cleanup()
throw error
}
}, url)
}