Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 

27 wiersze
4.6 KiB

  1. {
  2. "kind": "unit-coverage-plan",
  3. "status": "PENDING",
  4. "note": "本文件只说明真实测试与功能的对应关系,不声明执行成功。最终通过状态须由 validation.json 中对应命令的退出码与测试结果确认;单元测试不等同浏览器操作。",
  5. "sourceFile": "../../../../unreal_tran/tests/model-main-closure.test.mjs",
  6. "command": "node --test tests/model-main-closure.test.mjs",
  7. "cwd": "unreal_tran/unreal_tran",
  8. "tests": [
  9. { "title": "resource catalog startup renders all model/environment cards and binds every action with a real DOM", "featureIds": ["resource.catalog"], "scope": "真实 DOM 渲染、卡片绑定、空目录及 busy 保护;不包含 GLB 网络加载。" },
  10. { "title": "curve edits real scalar key values, time and interpolation, persisting through document reload", "featureIds": ["timeline.curve", "curve.time", "curve.value", "curve.easing"], "scope": "真实曲线控件与 TimelineEditor,标量编辑与文档往返。" },
  11. { "title": "curve vector editing preserves other components and selected track; invalid values do not mutate", "featureIds": ["curve.value"], "scope": "向量其它分量保留,当前轨道、非法值保护;不包含显示轴切换或可视像素验收。" },
  12. { "title": "multiple tracks on one property use last effective value; capture subtracts it only once", "featureIds": ["timeline.multitrack"], "scope": "调用实际 apply/capture/update 基值方法;验证同属性最后有效轨道、静音/删除后中性姿态,偏移只扣一次。" },
  13. { "title": "changing a binding resets the former target and keeps manual transform edits as base", "featureIds": ["timeline.multitrack", "timeline.target"], "scope": "轨道重绑后旧目标复位,手动变换成为新基值;不假称鼠标拖动已验。" },
  14. { "title": "custom properties and extension labels survive actual capture, project JSON and object restore", "featureIds": ["property.code", "property.status", "component.tag"], "scope": "真实对象 capture、normalization、JSON 与 restore 往返;清空和撤销到未存在字段状态。" },
  15. { "title": "boolean, numeric and nested blueprint conditions select their true/false branches", "featureIds": ["blueprint.condition"], "scope": "布尔、数字、truthy 与嵌套路径值解析。" },
  16. { "title": "visible child under a hidden ancestor cannot be picked or highlighted; trigger aliases include ancestors", "featureIds": ["tree.visibility", "blueprint.highlight"], "scope": "共用可见性和祖先别名函数;鼠标事件另由 E2E 验证。" },
  17. { "title": "inspector state tags reflect ancestor visibility and actual shadow flags, with a host editability hook", "featureIds": ["property.identity"], "scope": "真实属性 DOM 显示隐藏/阴影状态,并提供宿主权限标签 hook;不伪称此单测完成会话鉴权。" },
  18. { "title": "history retains 60 states, truncates redo after edits and ignores duplicate snapshots", "featureIds": ["project.undo", "project.redo"], "scope": "60 个快照上限、重复状态忽略及新编辑截断 redo 分支。" },
  19. { "title": "history serializes async restores and leaves index unchanged when restoration fails", "featureIds": ["project.undo", "project.redo"], "scope": "异步互斥、下载失败不移动索引,解除锁后可继续操作。" },
  20. { "title": "managed-GLB history downloads the snapshot stable reference before restoring, without rewriting it", "featureIds": ["project.undo", "project.redo"], "scope": "受控 GLB 快照先物化再恢复,不把临时 URL 写回快照。" },
  21. { "title": "beforeunload recovery does not create a draft for key order alone, but preserves real unsaved changes", "featureIds": ["project.recovery"], "scope": "同语义对象键顺序不产生假恢复稿;真正修改仍保留。不包含全部恢复/隔离/下载 UI 分支。" },
  22. { "title": "highlight rejects missing/hidden targets and transient colors never enter a saved project", "featureIds": ["blueprint.highlight"], "scope": "目标不存在/隐藏报错,执行时暂态发光颜色不进入保存文档,结束恢复原材质。" },
  23. { "title": "API publish supplies current cover, blocks duplicate publication and reports preserved old cover once", "featureIds": ["publish.api", "publish.cover", "feedback.toast"], "scope": "实际发布宿主方法传封面、重入阻断和上传失败只提示一次;模拟 API,不是实际服务响应。" },
  24. { "title": "API conflict leaves publication failed and releases the cover guard", "featureIds": ["project.conflict", "publish.api", "publish.cover"], "scope": "409 分支不误报已发布并释放 busy 标记;模拟 API。" }
  25. ]
  26. }