aboutsummaryrefslogtreecommitdiff
path: root/tests/test-system-utils-scratch-background.el
blob: 422590f4bf89313ae29b105336b274da4f454e47 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
;;; test-system-utils-scratch-background.el --- Tests for the scratch tint -*- lexical-binding: t; -*-

;;; Commentary:
;; cj/--scratch-lightened-background lightens the default background by a
;; tunable percent for the *scratch* buffer's buffer-local face remap.  The
;; colour arithmetic (color-lighten-name -> color-name-to-rgb) is
;; display-dependent and returns zeros under --batch, so the actual lightening
;; is verified live in the daemon; here we cover the display-independent
;; contract: a usable colour string yields a string, junk yields nil.

;;; Code:

(require 'ert)
(require 'color)
(add-to-list 'load-path (expand-file-name "modules" user-emacs-directory))
(require 'system-utils)

(ert-deftest test-system-utils-scratch-lightened-background-returns-string ()
  "Normal: a valid hex colour yields a colour string (not nil)."
  (let ((cj/scratch-background-lighten 5))
    (should (stringp (cj/--scratch-lightened-background "#100f0f")))))

(ert-deftest test-system-utils-scratch-lightened-background-bad-input ()
  "Error: non-colour input yields nil rather than signalling."
  (should (null (cj/--scratch-lightened-background nil)))
  (should (null (cj/--scratch-lightened-background 'unspecified)))
  (should (null (cj/--scratch-lightened-background "not-a-color"))))

(provide 'test-system-utils-scratch-background)
;;; test-system-utils-scratch-background.el ends here