emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 65990f4: Use lexical-binding in elide-head.el and add tests


From: Simen Heggestøyl
Subject: master 65990f4: Use lexical-binding in elide-head.el and add tests
Date: Sun, 19 Apr 2020 02:06:01 -0400 (EDT)

branch: master
commit 65990f47ccd6f1a3558910d71701a6f029c35433
Author: Simen Heggestøyl <address@hidden>
Commit: Simen Heggestøyl <address@hidden>

    Use lexical-binding in elide-head.el and add tests
    
    * lisp/elide-head.el: Use lexical-binding.
    (elide-head-headers-to-hide): Remove redundant :group arg.
    (elide-head-overlay): Use `defvar-local'.
    (elide-head-show): Fix docstring.
    
    * test/lisp/elide-head-tests.el: New file with tests for
    elide-head.el.
---
 lisp/elide-head.el            |  8 +++---
 test/lisp/elide-head-tests.el | 62 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 65 insertions(+), 5 deletions(-)

diff --git a/lisp/elide-head.el b/lisp/elide-head.el
index 2c42a19..a892754 100644
--- a/lisp/elide-head.el
+++ b/lisp/elide-head.el
@@ -1,4 +1,4 @@
-;;; elide-head.el --- hide headers in files
+;;; elide-head.el --- hide headers in files  -*- lexical-binding: t; -*-
 
 ;; Copyright (C) 1999, 2001-2020 Free Software Foundation, Inc.
 
@@ -63,12 +63,10 @@ The cars of elements of the list are searched for in order. 
 Text is
 elided with an invisible overlay from the end of the line where the
 first match is found to the end of the match for the corresponding
 cdr."
-  :group 'elide-head
   :type '(alist :key-type  (regexp :tag "Start regexp")
                :value-type (regexp :tag "End regexp")))
 
-(defvar elide-head-overlay nil)
-(make-variable-buffer-local 'elide-head-overlay)
+(defvar-local elide-head-overlay nil)
 
 ;;;###autoload
 (defun elide-head (&optional arg)
@@ -108,7 +106,7 @@ This is suitable as an entry on `find-file-hook' or 
appropriate mode hooks."
            (overlay-put elide-head-overlay 'after-string "...")))))))
 
 (defun elide-head-show ()
-  "Show a header elided current buffer by \\[elide-head]."
+  "Show a header in the current buffer elided by \\[elide-head]."
   (interactive)
   (if (and (overlayp elide-head-overlay)
           (overlay-buffer elide-head-overlay))
diff --git a/test/lisp/elide-head-tests.el b/test/lisp/elide-head-tests.el
new file mode 100644
index 0000000..c9ef26a
--- /dev/null
+++ b/test/lisp/elide-head-tests.el
@@ -0,0 +1,62 @@
+;;; elide-head-tests.el --- Tests for elide-head.el  -*- lexical-binding: t; 
-*-
+
+;; Copyright (C) 2020 Free Software Foundation, Inc.
+
+;; Author: Simen Heggestøyl <address@hidden>
+;; Keywords:
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs 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.
+
+;; GNU Emacs 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 GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;
+
+;;; Code:
+
+(require 'elide-head)
+(require 'ert)
+
+(ert-deftest elide-head-tests-elide-head ()
+  (let ((elide-head-headers-to-hide '(("START" . "END"))))
+    (with-temp-buffer
+      (insert "foo\nSTART\nHIDDEN\nEND\nbar")
+      (elide-head)
+      (let ((o (car (overlays-at 14))))
+        (should (= (overlay-start o) 10))
+        (should (= (overlay-end o) 21))
+        (should (overlay-get o 'invisible))
+        (should (overlay-get o 'evaporate))))))
+
+(ert-deftest elide-head-tests-elide-head-with-prefix-arg ()
+  (let ((elide-head-headers-to-hide '(("START" . "END"))))
+    (with-temp-buffer
+      (insert "foo\nSTART\nHIDDEN\nEND\nbar")
+      (elide-head)
+      (should (overlays-at 14))
+      (elide-head t)
+      (should-not (overlays-at 14)))))
+
+(ert-deftest elide-head-tests-show ()
+  (let ((elide-head-headers-to-hide '(("START" . "END"))))
+    (with-temp-buffer
+      (insert "foo\nSTART\nHIDDEN\nEND\nbar")
+      (elide-head)
+      (should (overlays-at 14))
+      (elide-head-show)
+      (should-not (overlays-at 14)))))
+
+(provide 'elide-head-tests)
+;;; elide-head-tests.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]