summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/emacs-yasnippet-fix-tests.patch
blob: 5995b0afa42faa9bad3b5c5110a3004b89b3b857 (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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
From 904a058fcf4e1f4985e03f8551eec282ca12ccb5 Mon Sep 17 00:00:00 2001
From: Philipp Stephani <phst@google.com>
Date: Mon, 6 Dec 2021 18:50:10 +0100
Subject: [PATCH] Unbreak unit tests under Emacs 28.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

- 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.
- buffer-list may be called with arguments when native-comp is enabled.

2023-08-19 Liliana Marie Prikler <liliana.prikler@gmail.com>

	* delete-numberless-inner-snippet-issue-562: Correct value in
        looking-at.
---
 yasnippet-tests.el | 45 ++++++++++++++++++++++++++++-----------------
 1 file changed, 28 insertions(+), 17 deletions(-)

diff --git a/yasnippet-tests.el b/yasnippet-tests.el
index f7ca2bb..7618ab7 100644
--- a/yasnippet-tests.el
+++ b/yasnippet-tests.el
@@ -1,6 +1,6 @@
 ;;; 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>
 ;; Keywords: emulations, convenience
@@ -289,7 +289,7 @@ attention to case differences."
     (should (looking-at "testblable"))
     (ert-simulate-command '(yas-next-field-or-maybe-expand))
     (ert-simulate-command '(yas-skip-and-clear-field))
-    (should (looking-at "ble"))
+    (should (looking-at "blable"))
     (should (null (yas-active-snippets)))))
 
 (ert-deftest delete-nested-simple-field-issue-824 ()
@@ -556,16 +556,19 @@ XXXXX   ------------------------"))))
     (yas-mock-insert "foo bar")
     (ert-simulate-command '(yas-next-field))
     (goto-char (point-min))
-    (let ((expected (with-temp-buffer
-                      (insert (format (concat "* Test foo bar\n"
-                                              "  " org-property-format "\n"
-                                              "  " org-property-format "\n"
-                                              "  " org-property-format)
-                                      ":PROPERTIES:" ""
-                                      ":ID:" "foo bar-after"
-                                      ":END:" ""))
-                      (delete-trailing-whitespace)
-                      (buffer-string))))
+    ;; 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"
+                                               org-property-format "\n"
+                                               org-property-format "\n"
+                                               org-property-format)
+                                       ":PROPERTIES:" ""
+                                       ":ID:" "foo bar-after"
+                                       ":END:" ""))
+                       (delete-trailing-whitespace)
+                       (buffer-string))))
       ;; Some org-mode versions leave trailing whitespace, some don't.
       (delete-trailing-whitespace)
       (should (equal expected (buffer-string))))))
@@ -1195,11 +1198,11 @@ hello ${1:$(when (stringp yas-text) (funcall func yas-text))} foo${1:$$(concat \
   (let ((saved-sym (make-symbol "yas--buffer-list")))
     `(let ((,saved-sym (symbol-function 'buffer-list)))
        (cl-letf (((symbol-function 'buffer-list)
-                  (lambda ()
+                  (lambda (&rest args)
                     (cl-remove-if (lambda (buf)
                                     (with-current-buffer buf
                                       (eq major-mode 'lisp-interaction-mode)))
-                                  (funcall ,saved-sym)))))
+                                  (funcall ,saved-sym args)))))
          ,@body))))
 
 
@@ -1356,7 +1359,9 @@ hello ${1:$(when (stringp yas-text) (funcall func yas-text))} foo${1:$$(concat \
                           ,@(if (fboundp 'prog-mode)
                                 '(prog-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)))
          (should (equal major-mode (car observed)))
          (should (equal (sort expected #'string<) (sort observed #'string<))))))))
@@ -1384,7 +1389,11 @@ hello ${1:$(when (stringp yas-text) (funcall func yas-text))} foo${1:$$(concat \
                                      '(prog-mode))
                                emacs-lisp-mode
                                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)))
          (should (equal expected-first
                         (cl-subseq observed 0 (length expected-first))))
@@ -1657,9 +1666,11 @@ TODO: be meaner"
   "Test expansion of snippets in org source blocks."
   ;; 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
-  ;; 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)
-                            (version< (org-version) "9"))
+                            (or (version< (org-version) "9")
+                                (version<= "9.5" (org-version))))
                        :passed :failed)
   (let ((text-mode-hook #'yas-minor-mode))
     (do-yas-org-native-tab-in-source-block "text")))
-- 
2.37.2