test(ads): [PKG-ADS-02] cover legacy timing and real media contracts

This commit is contained in:
Harvey Zhao committed 2026-09-12 07:26:58 +08:00
1 parent c6b82c3392
commit 069ad4aae1
15 files changed
+1519 -17

No files matched your search

+44 -9
View File
@@ -3015,30 +3015,65 @@
{
"id": "ADS-LIFE-01",
"title": "Ads 计时链、重复/过早调用、工厂复用与销毁缺乏资源边界",
"confirmation": "source-observed",
"confirmation": "reproduced",
"status": "open",
"owners": ["PKG-ADS-02", "PKG-ADS-03", "PKG-ADS-05"],
"evidence": ["refactor/baselines/ads-contract.md", "packages/artplayer-plugin-ads/src/index.js"],
"owners": [
"PKG-ADS-02",
"PKG-ADS-03",
"PKG-ADS-05"
],
"evidence": [
"refactor/baselines/ads-contract.md",
"packages/artplayer-plugin-ads/src/index.js",
"test/ads.test.js",
"test/browser/ads.spec.js",
"refactor/ads-validation.md",
"refactor/baselines/ads-validation.json"
],
"compatibleResolution": "先复现重复 play 的计时链、skip 后计时、destroy 后恢复与复用工厂 options;以实例所有权和幂等清理修正,不更改广告时长/跳过规则。",
"closureCriteria": "时钟/订阅/DOM 与主片恢复的成功、异常、重入、销毁、复用和多实例回归通过。"
},
{
"id": "ADS-MEDIA-01",
"title": "Ads metadata 与 play 拒绝、隐藏页媒体状态和内容恢复仍缺真实验证",
"confirmation": "source-observed",
"confirmation": "reproduced",
"status": "open",
"owners": ["PKG-ADS-02", "PKG-ADS-03", "PKG-ADS-05"],
"evidence": ["refactor/baselines/ads-contract.md", "packages/artplayer-plugin-ads/src/index.js", "docs/assets/example/ads.js"],
"owners": [
"PKG-ADS-02",
"PKG-ADS-03",
"PKG-ADS-05"
],
"evidence": [
"refactor/baselines/ads-contract.md",
"packages/artplayer-plugin-ads/src/index.js",
"docs/assets/example/ads.js",
"test/ads.test.js",
"test/browser/ads.spec.js",
"refactor/ads-validation.md",
"refactor/baselines/ads-validation.json"
],
"compatibleResolution": "用本地媒体验证事件安装顺序、加载失败与拒绝、倒计时和广告播放的独立语义,恢复主片时不吞公共拒绝或在销毁后播放。",
"closureCriteria": "实际广告/主片的加载、暂停/恢复、失败/换源/销毁和隐藏状态有新旧核心组合证据。"
},
{
"id": "ADS-UI-01",
"title": "Ads 零等待跳过与初始状态不符,全屏图标/外部状态需核验",
"confirmation": "source-observed",
"confirmation": "reproduced",
"status": "open",
"owners": ["PKG-ADS-02", "PKG-ADS-03", "PKG-ADS-05"],
"evidence": ["refactor/baselines/ads-contract.md", "packages/artplayer-plugin-ads/src/index.js", "docs/assets/example/ads.js"],
"owners": [
"PKG-ADS-02",
"PKG-ADS-03",
"PKG-ADS-05"
],
"evidence": [
"refactor/baselines/ads-contract.md",
"packages/artplayer-plugin-ads/src/index.js",
"docs/assets/example/ads.js",
"test/ads.test.js",
"test/browser/ads.spec.js",
"refactor/ads-validation.md",
"refactor/baselines/ads-validation.json"
],
"compatibleResolution": "复现 playDuration<=0 文案可关闭但 isCanClose 尚为 false;按既有 demo 规则修复,验证全屏按钮和外部退出状态,保留 CSS/DOM 钩子。",
"closureCriteria": "零/正/不可跳阈值、真实点击、倒计时/详情/静音/全屏与外部状态组合均有回归。"
}