test(canvas): [PKG-CANVAS-02] reproduce frame leaks and native pixel boundaries

This commit is contained in:
Harvey Zhao committed 2026-09-12 12:43:39 +08:00
1 parent 5e26d2298d
commit e931520e66
11 files changed
+642 -12

No files matched your search

+20 -2
View File
@@ -15,9 +15,27 @@ play/pause、destroy前后订阅、缺context和尺寸异常;保留历史失
当前已有的Ambilight代理颜色测试会直接加载proxy的src/index.js;代理迁移文件入口
或模块拆分时必须同步改为实际候选入口加载,不能用旧dist掩盖改名或遗漏模块。
Canvas本身的正式历史浏览器矩阵尚未建立;没有在01使用新浏览器结果作包整体验收。
Canvas正式历史浏览器矩阵在02建立;01没有使用新浏览器结果作包整体验收。
01最终13项Canvas专项、7项契约索引检查与991项完整CI通过;证据见
[发布契约验证](baselines/canvas-contract-validation.json) 和
[实施记录](changes/2026-09-12-PKG-CANVAS-01-contract.md)。三个新增风险继续open,
生命周期仅source-observed,02需先复现再推进03源码修复。
01时生命周期仅source-observed,02复现以后推进03源码修复。
## 02 历史失败与真实浏览器
`yarn test:canvas`运行33项历史Node检查,已接入test:unit。运行
`yarn test:browser test/browser/canvas.spec.js`核验42项:三实现×两种实际支持proxy
的核心×三引擎×两场景=36,加三个引擎分别挂载/未挂载原生video的6项独立对照。
就绪事件顺序、暂停/seek/resize/切源及回调内destroy后继续RAF均有断言。历史npm
5.1.7不支持proxy,不假装把它计入此矩阵。
WebKit历史代理输出透明是明确的失败基线;测试成功表示重现了该失败。原生video
播放前挂载可读到像素,未挂载对照为透明;播放后才挂载旧代理的video未恢复。
没有替换像素、bitmap或媒体来绕过它,03需以候选真实像素关闭CANVAS-PIXEL-01。
既有Ambilight组合测试由回调填充九格调色板,只证明输出buffer几何,不证明代理
已从视频画出有效帧。Windows Playwright WebKit证据不能直接等同真实Safari设备。
失败尝试与最终报告均保留report.json和完整results,哈希与范围见
[02验证证据](baselines/canvas-behavior-validation.json);问题处理细节见
[02实施记录](changes/2026-09-12-PKG-CANVAS-02-tests.md)。本任务不修改生产源码。