From 3fa9c9f774277530f4dac6c4f5de157cb4cdc536 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 2 May 2019 10:27:42 -0400 Subject: * lisp/mail/footnote.el: Tweak markers convention Instead of using markers that are sometimes before and sometimes after the [...] and using `insert-before-markers` to make sure those that are are before stay before, always place them before, and make them "move after"so they stay with their [...] without the need for insert-before-markers. (footnote--current-regexp): Add arg to match previous style. Include the start/end "tags" in the regexp. Adjust all callers. (footnote--markers-alist): Change position of POINTERS. (footnote--refresh-footnotes, footnote--renumber) (footnote--make-hole, footnote-delete-footnote) (footnote-back-to-message): Adjust accordingly, mostly by using `looking-at` instead of `looking-back`. (footnote--make-hole): Always return footnote nb to use. (footnote-add-footnote): Simplify call accordingly. * test/lisp/mail/footnote-tests.el: New file. --- test/lisp/mail/footnote-tests.el | 47 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 test/lisp/mail/footnote-tests.el (limited to 'test') diff --git a/test/lisp/mail/footnote-tests.el b/test/lisp/mail/footnote-tests.el new file mode 100644 index 00000000000..464443f4039 --- /dev/null +++ b/test/lisp/mail/footnote-tests.el @@ -0,0 +1,47 @@ +;;; footnote-tests.el --- Tests for footnote-mode -*- lexical-binding: t; -*- + +;; Copyright (C) 2019 Free Software Foundation, Inc. + +;; Author: Stefan Monnier +;; Keywords: + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; + +;;; Code: + +(ert-deftest footnote-tests-same-place () + (with-temp-buffer + (footnote-mode 1) + (insert "hello world") + (beginning-of-line) (forward-word) + (footnote-add-footnote) + (insert "footnote") + (footnote-back-to-message) + (should (equal (buffer-substring (point-min) (point)) + "hello[1]")) + (beginning-of-line) (forward-word) + (footnote-add-footnote) + (insert "other footnote") + (footnote-back-to-message) + (should (equal (buffer-substring (point-min) (point)) + "hello[1]")) + (should (equal (buffer-substring (point-min) (line-end-position)) + "hello[1][2] world")))) + +(provide 'footnote-tests) +;;; footnote-tests.el ends here -- cgit v1.2.1