Files
cl-tty/run-all-tests.lisp
Amr Gharbeia d0382f9290 v1.0.0: merge mouse → input — eliminate cl-tty.mouse package
The mouse-event struct was already in cl-tty.input. All mouse handling
logic (mouse-mixin, hit-test, selection, clipboard, link detection)
was in a separate cl-tty.mouse package. Moved everything into the
input package where the struct lives, eliminating one package boundary.

Changes:
- absorb mouse-mixin, handle-mouse-event, hit-test, selection struct,
  selection variables/functions, cell-link-at, open-link-at into
  text-input.org (tangled to input.lisp)
- update cl-tty.input defpackage with mouse exports
- mouse tests merged into INPUT-SUITE (appended to input-tests.lisp)
- delete mouse.org, mouse-package.lisp, mouse.lisp, mouse-tests.lisp
- update ASDF, run-all-tests.lisp, scripts to drop mouse references

All test suites pass at 100% (INPUT-SUITE: 102 tests, +6 from mouse)
2026-05-18 16:18:58 -04:00

49 lines
2.1 KiB
Common Lisp

(load "~/quicklisp/setup.lisp")
(ql:register-local-projects)
(ql:quickload :cl-tty :silent t)
(ql:quickload :fiveam :silent t)
;; Load all test files
(dolist (f '("src/backend/tests.lisp" "src/backend/modern-tests.lisp"
"src/layout/tests.lisp"
"src/components/box-tests.lisp"
"src/components/dirty-tests.lisp"
"src/components/render-tests.lisp"
"src/components/theme-tests.lisp"
"tests/input-tests.lisp"
"tests/scrollbox-tabbar-tests.lisp"
"tests/markdown-tests.lisp"
"tests/dialog-tests.lisp"
"tests/slot-tests.lisp"
"tests/framebuffer-tests.lisp"
"tests/integration-tests.lisp"))
(load f))
;; Run all test suites, exit non-zero if any fails
(let ((all-passed t))
(dolist (suite '((:cl-tty-backend-test "BACKEND-SUITE")
(:cl-tty-box-test "BOX-SUITE")
(:cl-tty-input-test "INPUT-SUITE")
(:cl-tty-scrollbox-test "SCROLLBOX-SUITE")
(:cl-tty-markdown-test :cl-tty-markdown-test)
(:cl-tty-dialog-test "DIALOG-SUITE")
(:cl-tty-slot-test "SLOT-SUITE")
(:cl-tty-layout-test "LAYOUT-SUITE")
(:cl-tty-modern-backend-test "MODERN-BACKEND-SUITE")
(:cl-tty-framebuffer-test "FRAMEBUFFER-SUITE")
(:cl-tty-integration-test "INTEGRATION-SUITE")))
(let* ((pkg (find-package (first suite)))
(suite-name (second suite))
(s (etypecase suite-name
(keyword (find-symbol (string suite-name) :keyword))
(string (find-symbol suite-name pkg)))))
(format t "~&=== ~a ===~%" (first suite))
(if s
(let ((result (fiveam:run s)))
(fiveam:explain! result)
(unless (fiveam:results-status result)
(setf all-passed nil)
(format t "~&FAILED: ~a~%" (first suite))))
(format t "Suite not found~%"))))
(uiop:quit (if all-passed 0 1)))