; Merge from origin/emacs-26
[emacs.git] / test / lisp / dabbrev-tests.el
blob808467474424ad1759aa75cf5e340cf304e7073a
1 ;;; dabbrev-tests.el --- Test suite for dabbrev.
3 ;; Copyright (C) 2016-2018 Free Software Foundation, Inc.
5 ;; Author: Alan Third <alan@idiocy.org>
6 ;; Keywords: dabbrev
8 ;; This file is part of GNU Emacs.
10 ;; GNU Emacs is free software: you can redistribute it and/or modify
11 ;; it under the terms of the GNU General Public License as published by
12 ;; the Free Software Foundation, either version 3 of the License, or
13 ;; (at your option) any later version.
15 ;; GNU Emacs is distributed in the hope that it will be useful,
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 ;; GNU General Public License for more details.
20 ;; You should have received a copy of the GNU General Public License
21 ;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
23 ;;; Commentary:
25 ;;; Code:
27 (require 'ert)
28 (require 'dabbrev)
30 (ert-deftest dabbrev-expand-test ()
31 "Test for bug#1948.
32 When DABBREV-ELIMINATE-NEWLINES is non-nil (the default),
33 repeated calls to DABBREV-EXPAND can result in the source of
34 first expansion being replaced rather than the destination."
35 (with-temp-buffer
36 (insert "ab x\na\nab y")
37 (goto-char 8)
38 (save-window-excursion
39 (set-window-buffer nil (current-buffer))
40 ;; M-/ SPC M-/ M-/
41 (execute-kbd-macro "\257 \257\257"))
42 (should (string= (buffer-string) "ab x\nab y\nab y"))))