docs(dash): [PKG-DASH-01] freeze released SDK v4 and workspace v5 contracts

This commit is contained in:
Harvey Zhao committed 2026-09-12 04:23:52 +08:00
1 parent e0d47ea74b
commit 3d4c636101
11 files changed
+431 -15

No files matched your search

+14
View File
@@ -0,0 +1,14 @@
import assert from 'node:assert/strict'
// eslint-disable-next-line test/no-import-node-test -- Frozen release checks use the built-in runner.
import test from 'node:test'
import { dashFunctionHash, verifyDashContract } from './dash-contract.mjs'
test('DASH Control release and its pre-refactor v4/v5 difference remain immutable', verifyDashContract)
test('DASH function comparison ignores formatting but detects changed SDK calls', async () => {
const original = 'function uniqBy(a) { return a } export default function artplayerPluginDashControl(dash) { return dash.getQualityFor("video") }'
const formatted = original.replace('export default ', '').replaceAll(' }', ';\n }')
assert.equal(await dashFunctionHash(original), await dashFunctionHash(formatted))
assert.notEqual(await dashFunctionHash(original), await dashFunctionHash(original.replace('getQualityFor', 'getCurrentRepresentationForType')))
await assert.rejects(dashFunctionHash('function unrelated() {}'), /Expected one function/)
})