test: verify canonical styles in real playground flows

This commit is contained in:
Kinneyzhang 2026-08-28 22:07:35 +08:00
parent 0479ad2bde
commit bf22251d40
5 changed files with 12 additions and 20 deletions

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 ()