diff options
| author | Lee Bochicchio | 2016-05-03 00:12:53 +0200 |
|---|---|---|
| committer | Lars Ingebrigtsen | 2016-05-03 00:12:53 +0200 |
| commit | 3a21ea15aecf7af8237c53dfafdc07650a09be3f (patch) | |
| tree | 5a60b7f16d853324e3f455703240d68bc03f3e21 | |
| parent | 1331467910537f4d85fa842c993ef2c48ebbf749 (diff) | |
| download | emacs-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.el | 147 |
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 |