Unbreak unit tests under Emacs 28.

- Emacs 28 has a new mode ‘lisp-data-mode’ for Lisp data.
- A test that was temporarily broken passes again.
- The default for ‘org-adapt-indentation’ has changed.
This commit is contained in:
Philipp Stephani 2021-12-06 18:50:10 +01:00 committed by João Távora
parent 5cbdbf0d20
commit 1ca316fb6d

View File

@ -1,6 +1,6 @@
;;; yasnippet-tests.el --- some yasnippet tests -*- lexical-binding: t -*- ;;; yasnippet-tests.el --- some yasnippet tests -*- lexical-binding: t -*-
;; Copyright (C) 2012-2015, 2017-2018 Free Software Foundation, Inc. ;; Copyright (C) 2012-2015, 2017-2018, 2021 Free Software Foundation, Inc.
;; Author: João Távora <joaot@siscog.pt> ;; Author: João Távora <joaot@siscog.pt>
;; Keywords: emulations, convenience ;; Keywords: emulations, convenience
@ -556,11 +556,14 @@ XXXXX ------------------------"))))
(yas-mock-insert "foo bar") (yas-mock-insert "foo bar")
(ert-simulate-command '(yas-next-field)) (ert-simulate-command '(yas-next-field))
(goto-char (point-min)) (goto-char (point-min))
(let ((expected (with-temp-buffer ;; The default value of `org-adapt-indentation' changed between Org-mode 9.4
;; and 9.5, so force a specific value.
(let* ((org-adapt-indentation nil)
(expected (with-temp-buffer
(insert (format (concat "* Test foo bar\n" (insert (format (concat "* Test foo bar\n"
" " org-property-format "\n" org-property-format "\n"
" " org-property-format "\n" org-property-format "\n"
" " org-property-format) org-property-format)
":PROPERTIES:" "" ":PROPERTIES:" ""
":ID:" "foo bar-after" ":ID:" "foo bar-after"
":END:" "")) ":END:" ""))
@ -1390,7 +1393,9 @@ hello ${1:$(when (stringp yas-text) (funcall func yas-text))} foo${1:$$(concat \
,@(if (fboundp 'prog-mode) ,@(if (fboundp 'prog-mode)
'(prog-mode)) '(prog-mode))
emacs-lisp-mode emacs-lisp-mode
lisp-interaction-mode)) lisp-interaction-mode
;; `lisp-data-mode' doesn't exist prior to Emacs 28.
,@(and (fboundp 'lisp-data-mode) '(lisp-data-mode))))
(observed (yas--modes-to-activate))) (observed (yas--modes-to-activate)))
(should (equal major-mode (car observed))) (should (equal major-mode (car observed)))
(should (equal (sort expected #'string<) (sort observed #'string<)))))))) (should (equal (sort expected #'string<) (sort observed #'string<))))))))
@ -1418,7 +1423,11 @@ hello ${1:$(when (stringp yas-text) (funcall func yas-text))} foo${1:$$(concat \
'(prog-mode)) '(prog-mode))
emacs-lisp-mode emacs-lisp-mode
and-also-this-one and-also-this-one
lisp-interaction-mode)) lisp-interaction-mode
;; `lisp-data-mode' doesn't exist prior to
;; Emacs 28.
,@(and (fboundp 'lisp-data-mode)
'(lisp-data-mode))))
(observed (yas--modes-to-activate))) (observed (yas--modes-to-activate)))
(should (equal expected-first (should (equal expected-first
(cl-subseq observed 0 (length expected-first)))) (cl-subseq observed 0 (length expected-first))))
@ -1691,9 +1700,11 @@ TODO: be meaner"
"Test expansion of snippets in org source blocks." "Test expansion of snippets in org source blocks."
;; org 9+ no longer runs fontification for text-mode, so our hacks ;; org 9+ no longer runs fontification for text-mode, so our hacks
;; don't work. Note that old ert doesn't have skipping, so we have ;; don't work. Note that old ert doesn't have skipping, so we have
;; to expect failure instead. ;; to expect failure instead. Starting with Org-mode 9.5 this seems
;; to work again.
:expected-result (if (and (fboundp 'org-in-src-block-p) :expected-result (if (and (fboundp 'org-in-src-block-p)
(version< (org-version) "9")) (or (version< (org-version) "9")
(version<= "9.5" (org-version))))
:passed :failed) :passed :failed)
(let ((text-mode-hook #'yas-minor-mode)) (let ((text-mode-hook #'yas-minor-mode))
(do-yas-org-native-tab-in-source-block "text"))) (do-yas-org-native-tab-in-source-block "text")))