Initial Lime window manager
This commit is contained in:
36
test/x11-cursor.lisp
Normal file
36
test/x11-cursor.lisp
Normal file
@@ -0,0 +1,36 @@
|
||||
(in-package #:lime.x11.test)
|
||||
|
||||
(in-suite lime-x11-suite)
|
||||
|
||||
(test cursor-configuration-validates-before-touching-x
|
||||
(let ((config (make-lime-configuration)))
|
||||
(is (typep (lime-configuration-cursor config) 'ui-cursor-style))
|
||||
(dolist (theme '(nil :core "Adwaita" "Bibata-Original-Ice"))
|
||||
(setf (lime-configuration-cursor config) (make-ui-cursor-style :theme theme :size 24))
|
||||
(is (eq config (lime.x11::%validate-lime-configuration config))))
|
||||
(dolist (theme (list "" " " :unknown 4 (string #\Null)))
|
||||
(setf (lime-configuration-cursor config) (make-ui-cursor-style :theme theme))
|
||||
(signals invalid-transition (lime.x11::%validate-lime-configuration config)))
|
||||
(dolist (size '(0 -1 7 257 24.0 "24"))
|
||||
(setf (lime-configuration-cursor config) (make-ui-cursor-style :size size))
|
||||
(signals invalid-transition (lime.x11::%validate-lime-configuration config)))
|
||||
(let ((dsl (find-lime-configuration
|
||||
(eval '(lime.config:defconfiguration cursor-fixture
|
||||
(:cursor :theme "Adwaita" :size (+ 16 8)))))))
|
||||
(is (string= "Adwaita" (ui-cursor-style-theme (lime-configuration-cursor dsl))))
|
||||
(is (= 24 (ui-cursor-style-size (lime-configuration-cursor dsl)))))
|
||||
(signals error (macroexpand-1 '(lime.config:defconfiguration duplicate (:cursor) (:cursor))))
|
||||
(signals error (macroexpand-1 '(lime.config:defconfiguration unknown (:cursor :unknown 2))))))
|
||||
|
||||
(test cursor-system-defaults-and-explicit-overrides
|
||||
(flet ((resolve (style &rest defaults)
|
||||
(multiple-value-list (apply #'lime.x11::%resolve-cursor-settings style defaults))))
|
||||
(is (equal '("default" 24) (resolve (make-ui-cursor-style) nil nil nil nil nil)))
|
||||
(is (equal '("Adwaita" 32) (resolve (make-ui-cursor-style) nil nil "Adwaita" "32" nil)))
|
||||
(is (equal '("env-theme" 48) (resolve (make-ui-cursor-style) "env-theme" "48" "resource-theme" "32" nil)))
|
||||
(is (equal '("explicit" 24) (resolve (make-ui-cursor-style :theme "explicit" :size 24)
|
||||
"env-theme" "48" "resource-theme" "32" "192")))
|
||||
(is (equal '(:core 24) (resolve (make-ui-cursor-style :theme :core :size 24)
|
||||
"env-theme" "48" "resource-theme" "32" nil)))
|
||||
(is (equal '("default" 43) (resolve (make-ui-cursor-style) "" "bad" nil "0" "192")))
|
||||
(is (equal '("default" 24) (resolve (make-ui-cursor-style) nil "999999" nil "-32" "bad")))))
|
||||
Reference in New Issue
Block a user