Add some elisp-mode font lock tests
This commit is contained in:
parent
3cefda0903
commit
e5aaa1251c
1 changed files with 51 additions and 0 deletions
|
@ -834,5 +834,56 @@ to (xref-elisp-test-descr-to-target xref)."
|
|||
(indent-region (point-min) (point-max))
|
||||
(should (equal (buffer-string) orig)))))
|
||||
|
||||
(defun test--font (form search)
|
||||
(with-temp-buffer
|
||||
(emacs-lisp-mode)
|
||||
(if (stringp form)
|
||||
(insert form)
|
||||
(pp form (current-buffer)))
|
||||
(font-lock-debug-fontify)
|
||||
(goto-char (point-min))
|
||||
(and (re-search-forward search nil t)
|
||||
(get-text-property (match-beginning 1) 'face))))
|
||||
|
||||
(ert-deftest test-elisp-font-keywords-1 ()
|
||||
;; Special form.
|
||||
(should (eq (test--font '(if foo bar) "(\\(if\\)")
|
||||
'font-lock-keyword-face))
|
||||
;; Macro.
|
||||
(should (eq (test--font '(when foo bar) "(\\(when\\)")
|
||||
'font-lock-keyword-face))
|
||||
(should (eq (test--font '(condition-case nil
|
||||
(foo)
|
||||
(error (if a b)))
|
||||
"(\\(if\\)")
|
||||
'font-lock-keyword-face))
|
||||
(should (eq (test--font '(condition-case nil
|
||||
(foo)
|
||||
(when (if a b)))
|
||||
"(\\(when\\)")
|
||||
'nil)))
|
||||
|
||||
(ert-deftest test-elisp-font-keywords-2 ()
|
||||
:expected-result :failed ; FIXME bug#43265
|
||||
(should (eq (test--font '(condition-case nil
|
||||
(foo)
|
||||
(error (when a b)))
|
||||
"(\\(when\\)")
|
||||
'font-lock-keyword-face)))
|
||||
|
||||
(ert-deftest test-elisp-font-keywords-3 ()
|
||||
:expected-result :failed ; FIXME bug#43265
|
||||
(should (eq (test--font '(setq a '(if when zot))
|
||||
"(\\(if\\)")
|
||||
nil)))
|
||||
|
||||
(ert-deftest test-elisp-font-keywords-if ()
|
||||
:expected-result :failed ; FIXME bug#43265
|
||||
(should (eq (test--font '(condition-case nil
|
||||
(foo)
|
||||
((if foo) (when a b)))
|
||||
"(\\(if\\)")
|
||||
nil)))
|
||||
|
||||
(provide 'elisp-mode-tests)
|
||||
;;; elisp-mode-tests.el ends here
|
||||
|
|
Loading…
Add table
Reference in a new issue