mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-09 11:56:15 -08:00
26 lines
1.6 KiB
JavaScript
26 lines
1.6 KiB
JavaScript
import assert from 'node:assert/strict'
|
|
import fs from 'node:fs'
|
|
// eslint-disable-next-line test/no-import-node-test -- Verify immutable integration inputs in the baseline runner.
|
|
import test from 'node:test'
|
|
import { ensureArchive, hash, readMember } from './releases.mjs'
|
|
|
|
test('HLS SDK integration matrix keeps historical provenance and verified standalone worker builds', async () => {
|
|
const matrix = JSON.parse(fs.readFileSync(new URL('../baselines/hls-sdk-matrix.json', import.meta.url)))
|
|
const historical = JSON.parse(fs.readFileSync(new URL('../baselines/hls-sdk.json', import.meta.url)))
|
|
assert.deepEqual(matrix.releases.map(release => release.version), ['1.5.17', '1.7.2'])
|
|
assert.deepEqual(matrix.releases[0], historical.release, 'Do not rewrite the historical SDK baseline')
|
|
for (const release of matrix.releases) {
|
|
const archive = await ensureArchive(release)
|
|
for (const [member, expected] of Object.entries(release.files))
|
|
assert.equal(hash(readMember(archive, member)), expected, `${release.version} ${member}`)
|
|
const manifest = JSON.parse(readMember(archive, 'package/package.json'))
|
|
assert.equal(manifest.name, 'hls.js')
|
|
assert.equal(manifest.version, release.version)
|
|
assert.equal(manifest.license, 'Apache-2.0')
|
|
assert(release.files['package/dist/hls.min.js'])
|
|
assert(release.files['package/LICENSE'])
|
|
}
|
|
const plugin = JSON.parse(fs.readFileSync(new URL('../../packages/artplayer-plugin-hls-control/package.json', import.meta.url)))
|
|
assert(!plugin.dependencies?.['hls.js'], 'Integration testing must not impose a new runtime SDK dependency')
|
|
})
|