v1.0.0 review fixes: dialog, textarea, scrollbox, demo, ASDF, layout
Fixes from subagent code review (15 findings): CRITICAL runtime bugs: - dialog.lisp: backend-write calls -> draw-rect/draw-text (wrong arg count) - dialog.lisp: removed undefined render-component call - dialog.lisp: toast render backend-write -> draw-text MAJOR data loss / silent failures: - textarea.lisp: undo overflow now drops oldest entry instead of wiping stack - scrollbox.lisp: :background-element -> :bright-black (theme keyword never resolved) ASDF completeness: - modern-tests.lisp wired as component and test-op suite - layout tests added to test-op suite list - markdown suite lookup now uses keyword (was looking up wrong string) - test runner updated to match API cleanup: - container-package: removed duplicate render export - select-package: removed duplicate render export - markdown.lisp: #\Escape -> #\Esc for consistency - textarea.lisp: removed duplicate %split-string defn Demo robustness: - Added unwind-protect for guaranteed terminal cleanup - Uses make-modern-backend constructor - Uses set-raw-mode/restore-terminal-state Layout: - normalize-box handles partial padding specs (was returning all zeros)
This commit is contained in:
14
cl-tty.asd
14
cl-tty.asd
@@ -56,7 +56,8 @@
|
||||
:components
|
||||
((:module "backend"
|
||||
:components
|
||||
((:file "tests")))
|
||||
((:file "tests")
|
||||
(:file "modern-tests" :depends-on ("tests"))))
|
||||
(:module "layout"
|
||||
:components
|
||||
((:file "tests")))
|
||||
@@ -81,12 +82,17 @@
|
||||
(:cl-tty-input-test "INPUT-SUITE")
|
||||
(:cl-tty-scrollbox-test "SCROLLBOX-SUITE")
|
||||
(:cl-tty-select-test "SELECT-SUITE")
|
||||
(:cl-tty-markdown-test "MARKDOWN-SUITE")
|
||||
(:cl-tty-markdown-test)
|
||||
(:cl-tty-dialog-test "DIALOG-SUITE")
|
||||
(:cl-tty-mouse-test "MOUSE-SUITE")
|
||||
(:cl-tty-slot-test "SLOT-SUITE")))
|
||||
(:cl-tty-slot-test "SLOT-SUITE")
|
||||
(:cl-tty-layout-test "LAYOUT-SUITE")
|
||||
(:cl-tty-modern-backend-test "MODERN-BACKEND-SUITE")))
|
||||
(let* ((pkg (find-package (first suite)))
|
||||
(s (and pkg (find-symbol (second suite) pkg))))
|
||||
(suite-name (second suite))
|
||||
(s (cond (suite-name (find-symbol suite-name pkg))
|
||||
(pkg (find-symbol (string (first suite)) :keyword))
|
||||
(t nil))))
|
||||
(when s
|
||||
(funcall explain (funcall run s))))))
|
||||
(uiop:quit 0)))
|
||||
|
||||
Reference in New Issue
Block a user