From bf22251d40824af3ea80932a2e249bef5c638282 Mon Sep 17 00:00:00 2001 From: Kinneyzhang Date: Fri, 28 Aug 2026 22:07:35 +0800 Subject: [PATCH] test: verify canonical styles in real playground flows --- README.md | 7 ++++--- README.zh-CN.md | 5 +++-- examples/research-shelf.el | 2 +- scripts/run-gui-verification.sh | 14 ++------------ tests/etaf-playground-tests.el | 4 ++-- 5 files changed, 12 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 14f2989..25ecd37 100644 --- a/README.md +++ b/README.md @@ -85,9 +85,10 @@ Each scenario creates a unique named daemon, disables native-comp JIT, loads the sibling repositories explicitly, creates one GUI frame, activates Emacs from the controlling shell, records through a PTY-backed macOS screen recorder, runs mount/resize/scroll/interaction checkpoints, writes screenshots and a -manifest, then shuts down every process it created. Flex is always extracted -from the committed `ebox-playground` HEAD, so a user's dirty fixture is never -read, overwritten, staged, or restored. +manifest, then shuts down every process it created. Flex and Grid are read from +their current `ebox-playground` working files so the gate verifies the exact +code a user is testing. The runner never writes, stages, restores, or otherwise +mutates either fixture. A fresh capture intentionally reports `INCOMPLETE` until a human or agent has inspected `report.md`, `contact-sheet.png`, and its selected endpoint images. diff --git a/README.zh-CN.md b/README.zh-CN.md index 339e3ad..d4a23c7 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -81,8 +81,9 @@ scenario factory 的两个输入。增加新应用时不会复制第二套 daemo 每个场景都会创建唯一命名 daemon,关闭 native-comp JIT,显式加载 sibling 仓库, 创建单一 GUI frame,由外层 shell 激活 Emacs,通过保留 PTY 的 macOS recorder 录屏, 依次执行 mount/resize/scroll/interaction checkpoint,生成 screenshot 与 manifest,最后 -清理自己创建的全部进程。Flex 始终从已提交的 `ebox-playground` HEAD 解包,绝不读取、 -覆盖、暂存或 restore 用户的脏 fixture。 +清理自己创建的全部进程。Flex 与 Grid 直接读取 `ebox-playground` 当前工作文件,确保 +门禁验证的就是用户正在测试的代码;runner 绝不写入、暂存、恢复或以其他方式修改 +这两个 fixture。 新采集有意保持 `INCOMPLETE`,直到人或 agent 检查 `report.md`、 `contact-sheet.png` 和报告选出的首尾图。完成时序审查后,对同一个 run directory diff --git a/examples/research-shelf.el b/examples/research-shelf.el index fd01b8f..af770e8 100644 --- a/examples/research-shelf.el +++ b/examples/research-shelf.el @@ -699,7 +699,7 @@ slot has a reusable built-in fallback for direct composition." :view (column :class "research-shelf-shell" :width '(viewport) - :height 'auto :min-height '(viewport-height) + :height '(viewport-height) :color (etaf-theme-token :ink) :bgcolor (etaf-theme-token :paper) (slot :name 'header diff --git a/scripts/run-gui-verification.sh b/scripts/run-gui-verification.sh index c9cf813..6c9b54e 100755 --- a/scripts/run-gui-verification.sh +++ b/scripts/run-gui-verification.sh @@ -55,18 +55,8 @@ prepare_fixture() { research-shelf) SCENARIO_FIXTURE="" ;; - grid-reference) - SCENARIO_FIXTURE="$REPOS_DIR/ebox-playground/examples/grid-reference.ebox" - ;; - flex-reference) - SCENARIO_FIXTURE_ROOT="$SCENARIO_RUN_DIR/fixture" - mkdir -p "$SCENARIO_FIXTURE_ROOT" - git -C "$REPOS_DIR/ebox-playground" archive \ - --format=tar --output="$SCENARIO_RUN_DIR/flex-fixture.tar" \ - HEAD examples/flex-reference.ebox - tar -xf "$SCENARIO_RUN_DIR/flex-fixture.tar" \ - -C "$SCENARIO_FIXTURE_ROOT" - SCENARIO_FIXTURE="$SCENARIO_FIXTURE_ROOT/examples/flex-reference.ebox" + flex-reference|grid-reference) + SCENARIO_FIXTURE="$REPOS_DIR/ebox-playground/examples/$SCENARIO_NAME.ebox" ;; *) usage ;; esac diff --git a/tests/etaf-playground-tests.el b/tests/etaf-playground-tests.el index 566c4df..c90340d 100644 --- a/tests/etaf-playground-tests.el +++ b/tests/etaf-playground-tests.el @@ -464,8 +464,8 @@ database and mounts a test buffer before running BODY." '(:viewport-width 900 :viewport-height 40)) (let* ((state (ebox--buffer-render-state (get-buffer buffer))) (root (plist-get state :root-node))) - (should (eq (plist-get root :height) 'auto)) - (should (equal (plist-get root :min-height) '(viewport-height))) + (should (equal (plist-get root :height) '(viewport-height))) + (should (= (plist-get root :min-height) 0)) (should-not (plist-get state :scroll-region-ids))))) (ert-deftest etaf-playground-fixture-supports-realistic-page-counts ()