mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-21 12:41:20 -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
@@ -0,0 +1,27 @@
|
||||
import assert from 'node:assert/strict'
|
||||
import fs from 'node:fs'
|
||||
import path from 'node:path'
|
||||
import { hash } from '../../refactor/scripts/releases.mjs'
|
||||
import { verifyInstalledArtifacts } from '../../scripts/installed-artifacts.mjs'
|
||||
|
||||
export function jassubAssets(root, mapFile) {
|
||||
const name = 'artplayer-plugin-jassub'
|
||||
const baseline = JSON.parse(fs.readFileSync(path.join(root, 'refactor/baselines/jassub-release.json'), 'utf8'))
|
||||
const installed = mapFile ? verifyInstalledArtifacts(root, mapFile, ['artplayer', 'artplayer-plugin-chapter', name]) : null
|
||||
const input = installed?.inputs.find(item => item.name === name)
|
||||
const pkg = installed?.packages.find(item => item.name === name)
|
||||
return ['jassub-worker.js', 'jassub-worker.wasm', 'jassub-worker-modern.wasm', 'default.woff2'].map((filename) => {
|
||||
const worker = filename !== 'default.woff2'
|
||||
const relative = worker ? `packages/${name}/worker/${filename}` : `docs/assets/jassub/${filename}`
|
||||
const expected = baseline.assets.find(item => item.file === relative)
|
||||
assert(expected, `Missing JASSUB resource baseline: ${relative}`)
|
||||
const member = `package/worker/${filename}`
|
||||
const file = input && worker ? path.resolve(path.dirname(input.file), '../worker', filename) : path.join(root, relative)
|
||||
const bytes = fs.readFileSync(file)
|
||||
const sha256 = hash(bytes)
|
||||
assert.equal(sha256, expected.sha256, `JASSUB resource differs from baseline: ${relative}`)
|
||||
if (input && worker)
|
||||
assert.equal(sha256, pkg.files[member], `Installed JASSUB resource differs from archive: ${member}`)
|
||||
return { route: `/assets/jassub/${filename}`, bytes, source: { kind: input && worker ? 'installed-resource' : 'local-resource', file, sha256, baseline: relative, member: input && worker ? member : null, archiveSha256: input && worker ? input.archiveSha256 : null } }
|
||||
})
|
||||
}
|
||||
Reference in new issue
Block a user