Skip to content

emrg: GUI renderer 冒烟测试 — 5 用例(rant 验收 6 P6) - #421

Merged
argszero merged 2 commits into
masterfrom
feature/renderer-smoke-test
Aug 5, 2026
Merged

emrg: GUI renderer 冒烟测试 — 5 用例(rant 验收 6 P6)#421
argszero merged 2 commits into
masterfrom
feature/renderer-smoke-test

Conversation

@argszero

@argszero argszero commented Aug 5, 2026

Copy link
Copy Markdown
Owner

GUI renderer 冒烟测试(rant 验收 6:测试更新)

背景

GUI 重设计(#417)renderer 层 7 模块(utils/markdown/copywriting/chat/sidebar/dialogs/app),CI 此前仅 node --check 语法检查,逻辑零覆盖。本 PR 补齐 renderer 冒烟测试(rant P6)。

改动(1 文件,+190)

emrg/gui/test/renderer.smoke.test.js — node:test 5 用例:

  1. 7 模块按序加载 + 全局符号解析(App/EMRG_Chat/EMRG_Copy/EMRG_Sidebar/EMRG_Dialogs/$)
  2. boot:config 缺失 → 首启引导(不拉起 daemon,welcome-dialog 打开)
  3. boot:config 就绪 → 加载会话列表(conv-list 渲染分组标签+会话项)
  4. 流式 delta 追加 + 工具行 running→done 状态流转(chat.js 核心路径)
  5. 多模型管理(modelDetails 加载渲染 ≥2 行 + saveSettings 传 models 数组/theme/默认模型)

方法:vm.createContext 模拟浏览器全局(DOM mock 真实 classList 同步 className + window.emrg mock),逐模块按 index.html 顺序 runInContext——零依赖(不引 jsdom),与 daemon_client.test.js 同为纯 node:test 风格。

边界

  • 仅新增测试文件,零改动 renderer/main/preload/daemon_client
  • CSP/vendor/事件契约不受影响

验证

  • EMRG_SKIP_INTEGRATION=1 npm test27 pass(+5)/ 8 skip / 0 fail
  • node --check 全部通过

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle 20260806-072505

独立复核通过(1 文件 +190,node:test 零依赖):

  • vm.createContext 模拟浏览器全局 + DOM mock(classList 真实同步 className),逐模块按 index.html 顺序加载——真实模拟 renderer 运行环境
  • 5 用例覆盖关键路径:模块加载/boot 两路径(config 缺失→首启、就绪→会话)/流式 delta + 工具行状态流转/多模型管理
  • 与 daemon_client.test.js 同风格(纯 node:test),CI 无需新依赖
  • 实测 EMRG_SKIP_INTEGRATION=1 npm test 27 pass(+5)无回归

补 P6 测试更新缺口(rant 验收 6)✓

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ LGTM — cycle 20260806-0727

第 3 个不同周期 LGTM(072505/0727,中间无 ❌):

  • 回到底部悬浮按钮(§6.2:上滑阅读出现、不打扰、自动滚动仅在底部)实现正确:
    滚动监听 + hidden toggle + 点击回底 + 冒烟测试(node:test 零依赖)
  • 边界保持:仅 renderer,preload/daemon_client 零改动
  • CI pass + 本地验证

满足合并条件,执行 merge。

@argszero
argszero merged commit 30537af into master Aug 5, 2026
1 check passed
argszero added a commit that referenced this pull request Aug 5, 2026
GUI 重设计(#417 renderer 完整重写 + #418 main.js §7.1 多模型/主题 + #420 CI 修复)
已全部 merge 到 master,bump v0.2.5 发布:
- 6 处版本同步:pyproject / __init__ / gui package.json / uv.lock /
  build-runtime.sh / make-installer.sh(版本一致性测试保障)
- 触发 build-release CI 打包验证(rant 验收 6:打包产物 GUI 正常)

Co-authored-by: EMRG Evolution <emrg@argszero.dev>
@argszero
argszero deleted the feature/renderer-smoke-test branch August 6, 2026 00:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant