Function: ert-font-lock--check-faces
ert-font-lock--check-faces is a byte-compiled function defined in
ert-font-lock.el.gz.
Signature
(ert-font-lock--check-faces TESTS)
Documentation
Check if the current buffer is fontified correctly.
TESTS - tests to run.
The function is meant to be run from within an ERT test.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/ert-font-lock.el.gz
(defun ert-font-lock--check-faces (tests)
"Check if the current buffer is fontified correctly.
TESTS - tests to run.
The function is meant to be run from within an ERT test."
(dolist (test tests)
(let* ((line-checked (plist-get test :line-checked))
(line-assert (plist-get test :line-assert))
(column-checked (plist-get test :column-checked))
(expected-face (plist-get test :face))
(negation (plist-get test :negation))
(actual-face (get-text-property (ert-font-lock--point-at-line-and-column line-checked column-checked) 'face))
(line-str (ert-font-lock--get-line line-checked))
(line-assert-str (ert-font-lock--get-line line-assert)))
;; normalize both expected and resulting face - these can be
;; either symbols, nils or lists of symbols
(setq actual-face (ensure-list actual-face))
(setq expected-face (ensure-list expected-face))
;; fail when lists are not 'equal and the assertion is *not negated*
(when (and (not negation) (not (equal actual-face expected-face)))
(ert-fail
(list (format "Expected face %S, got %S on line %d column %d"
expected-face actual-face line-checked column-checked)
:line line-str
:assert line-assert-str)))
;; fail when lists are 'equal and the assertion is *negated*
(when (and negation (equal actual-face expected-face))
(ert-fail
(list (format "Did not expect face %S face on line %d, column %d"
actual-face line-checked column-checked)
:line line-str
:assert line-assert-str))))))