aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLee Bochicchio2016-05-03 00:12:53 +0200
committerLars Ingebrigtsen2016-05-03 00:12:53 +0200
commit3a21ea15aecf7af8237c53dfafdc07650a09be3f (patch)
tree5a60b7f16d853324e3f455703240d68bc03f3e21
parent1331467910537f4d85fa842c993ef2c48ebbf749 (diff)
downloademacs-3a21ea15aecf7af8237c53dfafdc07650a09be3f.tar.gz
emacs-3a21ea15aecf7af8237c53dfafdc07650a09be3f.zip
Add more abbrev tests
* test/lisp/abbrev-tests.el (clear-abbrev-table-test): Use `abbrev-expansion' (abbrev-table-empty-p-test, list-abbrevs-test) (prepare-abbrev-list-buffer-test, insert-abbrevs-test) (edit-abbrevs-test, define-abbrevs-test) (read-write-abbrev-file-test) (abbrev-edit-save-to-file-test): New tests (bug#23139).
-rw-r--r--test/lisp/abbrev-tests.el147
1 files changed, 138 insertions, 9 deletions
diff --git a/test/lisp/abbrev-tests.el b/test/lisp/abbrev-tests.el
index 0d93e268a99..3c345210d20 100644
--- a/test/lisp/abbrev-tests.el
+++ b/test/lisp/abbrev-tests.el
@@ -81,6 +81,17 @@
81 (should (abbrev-table-p new-foo-abbrev-table))) 81 (should (abbrev-table-p new-foo-abbrev-table)))
82 (should-not (string-equal (buffer-name) "*Backtrace*"))) 82 (should-not (string-equal (buffer-name) "*Backtrace*")))
83 83
84(ert-deftest abbrev-table-empty-p-test ()
85 (should-error (abbrev-table-empty-p 42))
86 (should-error (abbrev-table-empty-p "aoeu"))
87 (should-error (abbrev-table-empty-p '()))
88 (should-error (abbrev-table-empty-p []))
89 ;; Missing :abbrev-table-modiff counter:
90 (should-error (abbrev-table-empty-p (obarray-make)))
91 (let* ((table (obarray-make)))
92 (abbrev-table-put table :abbrev-table-modiff 42)
93 (should (abbrev-table-empty-p table))))
94
84(ert-deftest kill-all-abbrevs-test () 95(ert-deftest kill-all-abbrevs-test ()
85 "Test undefining all defined abbrevs" 96 "Test undefining all defined abbrevs"
86 (unless noninteractive 97 (unless noninteractive
@@ -110,18 +121,136 @@
110(ert-deftest clear-abbrev-table-test () 121(ert-deftest clear-abbrev-table-test ()
111 "Test clearing single abbrev table" 122 "Test clearing single abbrev table"
112 (let ((ert-test-abbrevs (setup-test-abbrev-table))) 123 (let ((ert-test-abbrevs (setup-test-abbrev-table)))
113 (should (equal "a-e-t" (symbol-name 124 (should (equal "abbrev-ert-test" (abbrev-expansion "a-e-t" ert-test-abbrevs)))
114 (abbrev-symbol "a-e-t" ert-test-abbrevs)))) 125 (clear-abbrev-table ert-test-abbrevs)
115 (should (equal "abbrev-ert-test" (symbol-value 126 (should (equal nil (abbrev-expansion "a-e-t" ert-test-abbrevs)))
116 (abbrev-symbol "a-e-t" ert-test-abbrevs)))) 127 (should (equal t (abbrev-table-empty-p ert-test-abbrevs)))))
128
129(ert-deftest list-abbrevs-test ()
130 "Test generation of abbrev list buffer"
131 ;; Somewhat redundant as prepare-abbrev-list-buffer is also tested.
132 ;; all abbrevs
133 (let ((abbrev-buffer (prepare-abbrev-list-buffer)))
134 (should (equal "*Abbrevs*" (buffer-name abbrev-buffer)))
135 (kill-buffer abbrev-buffer))
136 ;; mode-specific abbrevs
137 (let ((abbrev-buffer (prepare-abbrev-list-buffer t)))
138 (should (equal "*Abbrevs*" (buffer-name abbrev-buffer)))
139 (kill-buffer abbrev-buffer)))
140
141(ert-deftest prepare-abbrev-list-buffer-test ()
142 "Test generation of abbrev list buffer"
143 ;; all abbrevs
144 (let ((ert-test-abbrevs (setup-test-abbrev-table)))
145 (with-current-buffer (prepare-abbrev-list-buffer)
146 ;; Check for a couple of abbrev-table names in buffer.
147 (should (and (progn
148 (goto-char (point-min))
149 (search-forward (symbol-name (abbrev-table-name ert-test-abbrevs))))
150 (progn
151 (goto-char (point-min))
152 (search-forward "global-abbrev-table"))))
153 (should (equal 'edit-abbrevs-mode major-mode))
154 (kill-buffer "*Abbrevs*")))
155
156 ;; mode-specific abbrevs (temp buffer uses fundamental-mode)
157 (with-temp-buffer
158 (prepare-abbrev-list-buffer t)
159 (with-current-buffer "*Abbrevs*"
160 (should (progn
161 (goto-char (point-min))
162 (search-forward "fundamental-mode-abbrev-table")))
163 (should-error (progn
164 (goto-char (point-min))
165 (search-forward "global-abbrev-table")))
166 (should-not (equal 'edit-abbrevs-mode major-mode))
167 (kill-buffer "*Abbrevs*"))))
168
169(ert-deftest insert-abbrevs-test ()
170 "Test inserting abbrev definitions into buffer"
171 (with-temp-buffer
172 (insert-abbrevs)
173 (should (progn
174 (goto-char (point-min))
175 (search-forward "global-abbrev-table")))))
176
177(ert-deftest edit-abbrevs-test ()
178 "Test editing abbrevs from buffer"
179 (defvar ert-edit-abbrevs-test-table nil)
180 (let ((ert-test-abbrevs (setup-test-abbrev-table)))
181 (with-temp-buffer
182 ;; insert test table and new abbrev, redefine, check definition
183 (goto-char (point-min))
184 (insert "(ert-edit-abbrevs-test-table)\n")
185 (insert "\n" "\"e-a-t\"\t" "0\t" "\"edit-abbrevs-test\"\n")
186 ;; check test table before redefine
187 (should (equal "abbrev-ert-test"
188 (abbrev-expansion "a-e-t" ert-test-abbrevs)))
189 (edit-abbrevs-redefine)
190 (should-not (abbrev-expansion "a-e-t" ert-test-abbrevs))
191 (should (equal "edit-abbrevs-test"
192 (abbrev-expansion "e-a-t" ert-edit-abbrevs-test-table))))))
193
194(ert-deftest define-abbrevs-test ()
195 "Test defining abbrevs from buffer"
196 (defvar ert-bad-abbrev-table nil)
197 (defvar ert-good-abbrev-table nil)
198 (defvar ert-redefine-abbrev-table nil)
199 (with-temp-buffer
200 ;; insert bad abbrev data and attempt define
201 (goto-char (point-min))
202 (insert "ert-bad-abbrev-table\n")
203 (insert "\n" "\"b-a-t\"\t" "0\t" "\n")
204 (should-not (define-abbrevs))
205 (should (equal nil (abbrev-expansion "b-a-t" ert-bad-abbrev-table)))
206 (delete-region (point-min) (point-max))
207 ;; try with valid abbrev data
208 (goto-char (point-min))
209 (insert "(ert-good-abbrev-table)\n")
210 (insert "\n" "\"g-a-t\"\t" "0\t" "\"good-abbrev-table\"\n")
211 (define-abbrevs)
212 (should (equal "good-abbrev-table"
213 (abbrev-expansion "g-a-t" ert-good-abbrev-table)))
214 ;; redefine from buffer
215 (delete-region (point-min) (point-max))
216 (insert "(ert-redefine-abbrev-table)\n")
217 (insert "\n" "\"r-a-t\"\t" "0\t" "\"redefine-abbrev-table\"\n")
218 ;; arg = kill-all-abbrevs
219 (define-abbrevs t)
220 (should (equal "redefine-abbrev-table"
221 (abbrev-expansion "r-a-t" ert-redefine-abbrev-table)))
222 (should (equal nil (abbrev-expansion "g-a-t" ert-good-abbrev-table)))))
117 223
224(ert-deftest read-write-abbrev-file-test ()
225 "Test reading and writing abbrevs from file"
226 (let ((temp-test-file (make-temp-file "ert-abbrev-test"))
227 (ert-test-abbrevs (setup-test-abbrev-table)))
228 (write-abbrev-file temp-test-file)
118 (clear-abbrev-table ert-test-abbrevs) 229 (clear-abbrev-table ert-test-abbrevs)
230 (should (abbrev-table-empty-p ert-test-abbrevs))
231 (read-abbrev-file temp-test-file)
232 (should (equal "abbrev-ert-test" (abbrev-expansion "a-e-t" ert-test-abbrevs)))
233 (delete-file temp-test-file)))
119 234
120 (should (equal "nil" (symbol-name 235(ert-deftest abbrev-edit-save-to-file-test ()
121 (abbrev-symbol "a-e-t" ert-test-abbrevs)))) 236 "Test saving abbrev definitions in buffer to file"
122 (should (equal nil (symbol-value 237 (defvar ert-save-test-table nil)
123 (abbrev-symbol "a-e-t" ert-test-abbrevs)))) 238 (let ((temp-test-file (make-temp-file "ert-abbrev-test"))
124 (should (equal t (abbrev-table-empty-p ert-test-abbrevs))))) 239 (ert-test-abbrevs (setup-test-abbrev-table)))
240 (with-temp-buffer
241 (goto-char (point-min))
242 (insert "(ert-save-test-table)\n")
243 (insert "\n" "\"s-a-t\"\t" "0\t" "\"save-abbrevs-test\"\n")
244 (should (equal "abbrev-ert-test"
245 (abbrev-expansion "a-e-t" ert-test-abbrevs)))
246 ;; clears abbrev tables
247 (abbrev-edit-save-to-file temp-test-file)
248 (should-not (abbrev-expansion "a-e-t" ert-test-abbrevs))
249 (read-abbrev-file temp-test-file)
250 (should (equal "save-abbrevs-test"
251 (abbrev-expansion "s-a-t" ert-save-test-table)))
252 (delete-file temp-test-file))))
125 253
126(provide 'abbrev-tests) 254(provide 'abbrev-tests)
255
127;;; abbrev-tests.el ends here 256;;; abbrev-tests.el ends here