Fix all 13 layout test failures — quoted literal constant mutation
Root cause: normalize-box and slot :initforms used quoted literal
lists ('(...)) that were destructively modified by (setf (getf ...)).
Each call to normalize-box with a non-nil spec corrupted the shared
default list, causing all subsequent nodes with no explicit padding
to inherit the previous node's padding values.
Fix: replace all '(...) quoted literals with (list ...) constructor
calls — in normalize-box (3 paths) and in slot initforms for both
padding and margin.
All 11 test suites now pass: 358/358 checks, 0 failures.
This commit is contained in:
12
cl-tty.asd
12
cl-tty.asd
@@ -68,12 +68,12 @@
|
||||
(:file "render-tests")
|
||||
(:file "theme-tests")
|
||||
(:file "input-tests")
|
||||
(:file "scrollbox-tabbar-tests" :pathname "../../tests/scrollbox-tabbar-tests.lisp")
|
||||
(:file "select-tests" :pathname "../../tests/select-tests.lisp")
|
||||
(:file "markdown-tests" :pathname "../../tests/markdown-tests.lisp")
|
||||
(:file "dialog-tests" :pathname "../../tests/dialog-tests.lisp")
|
||||
(:file "mouse-tests" :pathname "../../tests/mouse-tests.lisp")
|
||||
(:file "slot-tests" :pathname "../../tests/slot-tests.lisp"))))
|
||||
(:file "scrollbox-tabbar-tests" :pathname "../../tests/scrollbox-tabbar-tests")
|
||||
(:file "select-tests" :pathname "../../tests/select-tests")
|
||||
(:file "markdown-tests" :pathname "../../tests/markdown-tests")
|
||||
(:file "dialog-tests" :pathname "../../tests/dialog-tests")
|
||||
(:file "mouse-tests" :pathname "../../tests/mouse-tests")
|
||||
(:file "slot-tests" :pathname "../../tests/slot-tests"))))
|
||||
:perform (test-op (o c)
|
||||
(let ((run (find-symbol "RUN" :fiveam))
|
||||
(explain (find-symbol "EXPLAIN!" :fiveam)))
|
||||
|
||||
Reference in New Issue
Block a user