;;; dialog-tests.lisp — Tests for cl-tty.dialog (defpackage :cl-tty-dialog-test (:use :cl :cl-tty.dialog :fiveam)) (in-package :cl-tty-dialog-test) (def-suite dialog-suite :description "Dialog + Toast tests for cl-tty.dialog") (in-suite dialog-suite) (def-test dialog-create () (let ((d (make-instance 'dialog :title "Test"))) (is-true (typep d 'dialog)) (is (equal "Test" (dialog-title d))))) (def-test dialog-size-small () (multiple-value-bind (w h) (dialog-size-pixels :small) (is (= 40 w)) (is (= 8 h)))) (def-test dialog-size-medium () (multiple-value-bind (w h) (dialog-size-pixels :medium) (is (= 60 w)) (is (= 16 h)))) (def-test dialog-push-pop () (let ((*dialog-stack* nil)) (push-dialog (make-instance 'dialog :title "D1")) (is (= 1 (length *dialog-stack*))) (push-dialog (make-instance 'dialog :title "D2")) (is (= 2 (length *dialog-stack*))) (pop-dialog) (is (= 1 (length *dialog-stack*))))) (def-test toast-create () (let ((*toasts* nil)) (toast "Hello" :variant :info :duration 0) (is (= 1 (length *toasts*))))) (def-test toast-dismiss () (let ((*toasts* (list (make-instance 'toast :message "T" :variant :info)))) (dismiss-toast (first *toasts*)) (is (= 0 (length *toasts*))))) ;;; dialog-tests.lisp — Tests for cl-tty.dialog (defpackage :cl-tty-dialog-test (:use :cl :cl-tty.dialog :fiveam)) (in-package :cl-tty-dialog-test) (def-suite dialog-suite :description "Dialog + Toast tests for cl-tty.dialog") (in-suite dialog-suite) (def-test dialog-create () (let ((d (make-instance 'dialog :title "Test"))) (is-true (typep d 'dialog)) (is (equal "Test" (dialog-title d))))) (def-test dialog-size-small () (multiple-value-bind (w h) (dialog-size-pixels :small) (is (= 40 w)) (is (= 8 h)))) (def-test dialog-size-medium () (multiple-value-bind (w h) (dialog-size-pixels :medium) (is (= 60 w)) (is (= 16 h)))) (def-test dialog-push-pop () (let ((*dialog-stack* nil)) (push-dialog (make-instance 'dialog :title "D1")) (is (= 1 (length *dialog-stack*))) (push-dialog (make-instance 'dialog :title "D2")) (is (= 2 (length *dialog-stack*))) (pop-dialog) (is (= 1 (length *dialog-stack*))))) (def-test toast-create () (let ((*toasts* nil)) (toast "Hello" :variant :info :duration 0) (is (= 1 (length *toasts*))))) (def-test toast-dismiss () (let ((*toasts* (list (make-instance 'toast :message "T" :variant :info)))) (dismiss-toast (first *toasts*)) (is (= 0 (length *toasts*)))))