mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-11 13:56:15 -08:00
test(ci): [CI-01] verify installed JASSUB bundles and worker resources
This commit is contained in:
1 parent
25a0c6303d
commit
54169fdca1
19 files changed
+2500
-217
No files matched your search
@@ -106,3 +106,15 @@ Available-input attachments list possible inputs; per-observation provenance
|
||||
identifies the selected one. Native media/decoding, controlled races, API absence
|
||||
and physical/long-run verification remain separate. See
|
||||
../../refactor/changes/2026-09-15-CI-01-mediabunny-installed.md for actual results.
|
||||
|
||||
JASSUB adds its native rendering, lifecycle, hybrid, render-failure and platform
|
||||
control files. The native-render file retains published inputs and adds installed
|
||||
candidates; its source-mode historical default stays unchanged. Three other
|
||||
wrapper suites build source unless an installed map or explicit artifact selects
|
||||
them. Installed worker JS and both WASM files are served at the existing URLs,
|
||||
with archived-member and frozen-resource hashes verified before serving. The
|
||||
local font is identified separately; it is not part of the plugin tarball.
|
||||
Package worker inventories now participate in input freshness checks. The
|
||||
platform control loads no JASSUB; historical failures, capability controls and
|
||||
actual rendering must be reported separately. See
|
||||
../../refactor/changes/2026-09-15-CI-01-jassub-installed.md.
|
||||
@@ -2,7 +2,7 @@ import type { PlaywrightTestConfig } from '@playwright/test'
|
||||
import assert from 'node:assert/strict'
|
||||
|
||||
export type BrowserScope = 'source' | 'installed'
|
||||
export const installedPackages = ['artplayer', 'artplayer-plugin-chapter', 'artplayer-plugin-ambilight', 'artplayer-proxy-canvas', 'artplayer-plugin-document-pip', 'artplayer-plugin-ads', 'artplayer-plugin-audio-track', 'artplayer-plugin-vtt-thumbnail', 'artplayer-plugin-multiple-subtitles', 'artplayer-plugin-hls-control', 'artplayer-plugin-dash-control', 'artplayer-plugin-auto-thumbnail', 'artplayer-plugin-asr', 'artplayer-plugin-chromecast', 'artplayer-proxy-mediabunny']
|
||||
export const installedPackages = ['artplayer', 'artplayer-plugin-chapter', 'artplayer-plugin-ambilight', 'artplayer-proxy-canvas', 'artplayer-plugin-document-pip', 'artplayer-plugin-ads', 'artplayer-plugin-audio-track', 'artplayer-plugin-vtt-thumbnail', 'artplayer-plugin-multiple-subtitles', 'artplayer-plugin-hls-control', 'artplayer-plugin-dash-control', 'artplayer-plugin-auto-thumbnail', 'artplayer-plugin-asr', 'artplayer-plugin-chromecast', 'artplayer-proxy-mediabunny', 'artplayer-plugin-jassub']
|
||||
export const installedTests = [
|
||||
'playback.spec.js',
|
||||
'lifecycle.spec.js',
|
||||
@@ -53,6 +53,11 @@ export const installedTests = [
|
||||
'mediabunny-shim.spec.js',
|
||||
'mediabunny-video.spec.js',
|
||||
'mediabunny.spec.js',
|
||||
'jassub-native.spec.js',
|
||||
'jassub-lifecycle.spec.js',
|
||||
'jassub-hybrid.spec.js',
|
||||
'jassub-render-failure.spec.js',
|
||||
'jassub-platform.spec.js',
|
||||
]
|
||||
|
||||
export function browserInvocation(scope: string, args: string[], environment: NodeJS.ProcessEnv) {
|
||||
|
||||
@@ -40,7 +40,7 @@ export function verifyInstalledArtifacts(root, mapFile, names = ['artplayer', 'a
|
||||
const member = `package/dist/${path.basename(file)}`
|
||||
assert.equal(hash(fs.readFileSync(file)), pkg.files[member], `Installed browser artifact changed: ${name}`)
|
||||
const sourceHashes = {}
|
||||
for (const folder of ['src', 'public']) {
|
||||
for (const folder of ['src', 'public', 'worker']) {
|
||||
const current = path.join(root, 'packages', name, folder)
|
||||
const snapshot = path.join(directory, 'build/packages', name, folder)
|
||||
if (!fs.existsSync(current)) {
|
||||
|
||||
@@ -96,6 +96,7 @@ export async function checkPackages({ release = false, include = [] } = {}) {
|
||||
'artplayer-plugin-asr': async () => (await import('../refactor/scripts/asr-contract.mjs')).verifyAsrContract(),
|
||||
'artplayer-plugin-chromecast': async () => (await import('../refactor/scripts/chromecast-contract.mjs')).verifyChromecastContract(),
|
||||
'artplayer-proxy-mediabunny': async () => (await import('../refactor/scripts/mb-contract.mjs')).verifyMbContract(),
|
||||
'artplayer-plugin-jassub': async () => (await import('../refactor/scripts/jassub-contract.mjs')).verifyJassubContract(),
|
||||
'artplayer-plugin-audio-track': async () => (await import('../refactor/scripts/audio-contract.mjs')).verifyAudioContract(),
|
||||
'artplayer-plugin-vtt-thumbnail': async () => (await import('../refactor/scripts/vtt-thumbnail-contract.mjs')).verifyVttThumbnailContract(),
|
||||
'artplayer-plugin-multiple-subtitles': async () => (await import('../refactor/scripts/multiple-subtitles-contract.mjs')).verifyMultipleSubtitlesContract(),
|
||||
|
||||
Reference in new issue
Block a user