[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
scratch/noverlay-wip ebd14d4ce3 2/2: Merge commit 'bcf4201d4c85afcc72910
From: |
Stefan Monnier |
Subject: |
scratch/noverlay-wip ebd14d4ce3 2/2: Merge commit 'bcf4201d4c85afcc729104e492a14db00c3c5903' into noverlay |
Date: |
Fri, 23 Sep 2022 12:01:11 -0400 (EDT) |
branch: scratch/noverlay-wip
commit ebd14d4ce3590fa05d2f294a324b66d9d6b0a2f5
Merge: 48f8b29998 bcf4201d4c
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>
Merge commit 'bcf4201d4c85afcc729104e492a14db00c3c5903' into noverlay
---
test/src/buffer-tests.el | 252 +++++++++++++++++++++++------------------------
1 file changed, 126 insertions(+), 126 deletions(-)
diff --git a/test/src/buffer-tests.el b/test/src/buffer-tests.el
index e58326c549..1a2c2a9b44 100644
--- a/test/src/buffer-tests.el
+++ b/test/src/buffer-tests.el
@@ -21,6 +21,7 @@
(require 'ert)
(require 'seq)
+(eval-when-compile (require 'cl-lib))
(ert-deftest overlay-modification-hooks-message-other-buf ()
"Test for bug#21824.
@@ -95,29 +96,31 @@ with parameters from the *Messages* buffer modification."
(insert "toto")
(move-overlay ol (point-min) (point-min)))))
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | Overlay test setup
-;;
+===================================================================================+
+;; +==========================================================================+
(eval-when-compile
- (defun make-overlay-test-name (fn x y)
- (intern (format "test-%s-%s-%s" fn x y))))
+ (defun buffer-tests--make-test-name (fn x y)
+ (intern (format "buffer-tests--%s-%s-%s" fn x y))))
-(defun unmake-ov-test-name (symbol)
+(defun buffer-tests--unmake-test-name (symbol)
(let ((name (if (stringp symbol) symbol (symbol-name symbol))))
- (when (string-match "\\`test-\\(.*\\)-\\(.*\\)-\\(.*\\)\\'" name)
- (list (match-string 1 name) (match-string 2 name) (match-string 3
name)))))
+ (when (string-match "\\`buffer-tests--\\(.*\\)-\\(.*\\)-\\(.*\\)\\'" name)
+ (list (match-string 1 name)
+ (match-string 2 name)
+ (match-string 3 name)))))
(defmacro deftest-make-overlay-1 (id args)
(declare (indent 1))
- `(ert-deftest ,(make-overlay-test-name 'make-overlay 1 id) ()
+ `(ert-deftest ,(buffer-tests--make-test-name 'make-overlay 1 id) ()
(with-temp-buffer
(should ,(cons 'make-overlay args)))))
(defmacro deftest-make-overlay-2 (id args condition)
(declare (indent 1))
- `(ert-deftest ,(make-overlay-test-name 'make-overlay 2 id) ()
+ `(ert-deftest ,(buffer-tests--make-test-name 'make-overlay 2 id) ()
(with-temp-buffer
(should-error
,(cons 'make-overlay args)
@@ -128,7 +131,7 @@ with parameters from the *Messages* buffer modification."
(declare (indent 1))
(cl-destructuring-bind (start end sstart send)
(append start-end-args start-end-should)
- `(ert-deftest ,(make-overlay-test-name 'overlay-start/end 1 id) ()
+ `(ert-deftest ,(buffer-tests--make-test-name 'overlay-start/end 1 id) ()
(with-temp-buffer
(insert (make-string 9 ?\n))
(let ((ov (make-overlay ,start ,end)))
@@ -137,25 +140,26 @@ with parameters from the *Messages* buffer modification."
(defmacro deftest-overlay-buffer-1 (id arg-expr should-expr)
(declare (indent 1))
- `(ert-deftest ,(make-overlay-test-name 'overlay-buffer 1 id) ()
+ `(ert-deftest ,(buffer-tests--make-test-name 'overlay-buffer 1 id) ()
(with-temp-buffer
(should (equal (overlay-buffer (make-overlay 1 1 ,arg-expr))
- ,should-expr)))))
+ ,should-expr)))))
(defmacro deftest-overlayp-1 (id arg-expr should-expr)
(declare (indent 1))
- `(ert-deftest ,(make-overlay-test-name 'overlay-buffer 1 id) ()
+ `(ert-deftest ,(buffer-tests--make-test-name 'overlay-buffer 1 id) ()
(with-temp-buffer
(should (equal ,should-expr (overlayp ,arg-expr))))))
(defmacro deftest-next-overlay-change-1 (id pos result &rest ov-tuple)
- `(ert-deftest ,(make-overlay-test-name 'next-overlay-change 1 id) ()
+ `(ert-deftest ,(buffer-tests--make-test-name 'next-overlay-change 1 id) ()
(let ((tuple (copy-sequence ',ov-tuple)))
(with-temp-buffer
(insert (make-string (max 100 (if tuple
(apply #'max
(mapcar
- (lambda (m) (apply #'max
m)) tuple))
+ (lambda (m) (apply #'max m))
+ tuple))
0))
?\n))
(dolist (tup tuple)
@@ -164,13 +168,14 @@ with parameters from the *Messages* buffer modification."
,result))))))
(defmacro deftest-previous-overlay-change-1 (id pos result &rest ov-tuple)
- `(ert-deftest ,(make-overlay-test-name 'previous-overlay-change 1 id) ()
+ `(ert-deftest ,(buffer-tests--make-test-name 'previous-overlay-change 1 id)
()
(let ((tuple ',ov-tuple))
(with-temp-buffer
(insert (make-string (max 100 (if tuple
(apply #'max
(mapcar
- (lambda (m) (apply #'max
m)) tuple))
+ (lambda (m) (apply #'max m))
+ tuple))
0))
?\n))
(dolist (tup tuple)
@@ -179,7 +184,7 @@ with parameters from the *Messages* buffer modification."
,result))))))
(defmacro deftest-overlays-at-1 (id pos result &rest ov-triple)
- `(ert-deftest ,(make-overlay-test-name 'overlays-at 1 id) ()
+ `(ert-deftest ,(buffer-tests--make-test-name 'overlays-at 1 id) ()
(let ((pos* ,pos))
(with-temp-buffer
(insert (make-string 100 ?\s))
@@ -194,7 +199,7 @@ with parameters from the *Messages* buffer modification."
(should (memq (overlay-get ov 'tag) ',result))))))))
(defmacro deftest-overlays-in-1 (id beg end result &rest ov-triple)
- `(ert-deftest ,(make-overlay-test-name 'overlays-in 1 id) ()
+ `(ert-deftest ,(buffer-tests--make-test-name 'overlays-in 1 id) ()
(let ((beg* ,beg)
(end* ,end))
(with-temp-buffer
@@ -220,39 +225,42 @@ with parameters from the *Messages* buffer modification."
,@body))))
(defmacro deftest-overlays-equal-1 (id result ov1-args ov2-args)
- `(ert-deftest ,(make-overlay-test-name 'overlays-equal 1 id) ()
- (cl-labels ((create-overlay (args)
- (cl-destructuring-bind (start end &optional fa ra &rest
properties)
- args
- (let ((ov (make-overlay start end nil fa ra)))
- (while properties
- (overlay-put ov (pop properties) (pop properties)))
- ov))))
+ `(ert-deftest ,(buffer-tests--make-test-name 'overlays-equal 1 id) ()
+ (cl-flet ((create-overlay (args)
+ (cl-destructuring-bind (start end &optional fa ra
+ &rest properties)
+ args
+ (let ((ov (make-overlay start end nil fa ra)))
+ (while properties
+ (overlay-put ov (pop properties) (pop properties)))
+ ov))))
(with-temp-buffer
(insert (make-string 1024 ?\s))
(should (,(if result 'identity 'not)
(equal (create-overlay ',ov1-args)
(create-overlay ',ov2-args))))))))
-
-(defun find-ert-overlay-test (name)
- (let ((test (unmake-ov-test-name name)))
+
+(defun buffer-tests--find-ert-test (name)
+ (let ((test (buffer-tests--unmake-test-name name)))
(or (and test
(cl-destructuring-bind (fn x y)
test
(let ((regexp (format "deftest-%s-%s +%s" fn x y)))
(re-search-forward regexp nil t))))
(let ((find-function-regexp-alist
- (cl-remove 'find-ert-overlay-test find-function-regexp-alist
:key #'cdr)))
- (find-function-do-it name 'ert-deftest
'switch-to-buffer-other-window)))))
+ (cl-remove #'buffer-tests--find-ert-test
+ find-function-regexp-alist :key #'cdr)))
+ (find-function-do-it name 'ert-deftest
+ #'switch-to-buffer-other-window)))))
(add-to-list 'find-function-regexp-alist
- '(ert-deftest . find-ert-overlay-test))
+ `(ert-deftest . ,#'buffer-tests--find-ert-test))
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | make-overlay
-;;
+===================================================================================+
+;; +==========================================================================+
;; Test if making an overlay succeeds.
(deftest-make-overlay-1 A (1 1))
@@ -281,12 +289,12 @@ with parameters from the *Messages* buffer modification."
(deftest-make-overlay-2 I (1 [1]) wrong-type-argument)
(deftest-make-overlay-2 J (1 1 (with-temp-buffer
(current-buffer)))
- error)
+ error)
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | overlay-start/end
-;;
+===================================================================================+
+;; +==========================================================================+
;; Test if the overlays return proper positions. point-max of the
;; buffer will equal 10. ARG RESULT
@@ -297,7 +305,8 @@ with parameters from the *Messages* buffer modification."
(deftest-overlay-start/end-1 E (1 11) (1 10))
(deftest-overlay-start/end-1 F (1 most-positive-fixnum) (1 10))
(deftest-overlay-start/end-1 G (most-positive-fixnum 1) (1 10))
-(deftest-overlay-start/end-1 H (most-positive-fixnum most-positive-fixnum) (10
10))
+(deftest-overlay-start/end-1 H (most-positive-fixnum most-positive-fixnum)
+ (10 10))
(deftest-overlay-start/end-1 I (100 11) (10 10))
(deftest-overlay-start/end-1 J (11 100) (10 10))
(deftest-overlay-start/end-1 K (0 1) (1 1))
@@ -308,10 +317,10 @@ with parameters from the *Messages* buffer modification."
(should-not (overlay-start (with-temp-buffer (make-overlay 1 1))))
(should-not (overlay-end (with-temp-buffer (make-overlay 1 1)))))
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | overlay-buffer
-;;
+===================================================================================+
+;; +==========================================================================+
;; Test if overlay-buffer returns appropriate values.
(deftest-overlay-buffer-1 A (current-buffer) (current-buffer))
@@ -320,10 +329,10 @@ with parameters from the *Messages* buffer modification."
(should-error (make-overlay
1 1 (with-temp-buffer (current-buffer)))))
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | overlayp
-;;
+===================================================================================+
+;; +==========================================================================+
;; Check the overlay predicate.
(deftest-overlayp-1 A (make-overlay 1 1) t)
@@ -342,10 +351,10 @@ with parameters from the *Messages* buffer modification."
(deftest-overlayp-1 N (selected-window) nil)
(deftest-overlayp-1 O (selected-frame) nil)
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | overlay equality
-;;
+===================================================================================+
+;; +==========================================================================+
(deftest-overlays-equal-1 A t (1 1) (1 1))
(deftest-overlays-equal-1 B t (5 10) (5 10))
@@ -357,10 +366,10 @@ with parameters from the *Messages* buffer modification."
(deftest-overlays-equal-1 H t (10 20 nil nil foo 42) (10 20 nil nil foo 42))
(deftest-overlays-equal-1 I nil (10 20 nil nil foo 42) (10 20 nil nil foo 43))
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | overlay-lists
-;;
+===================================================================================+
+;; +==========================================================================+
;; Check whether overlay-lists returns something sensible.
(ert-deftest test-overlay-lists-1 ()
@@ -374,10 +383,10 @@ with parameters from the *Messages* buffer modification."
(should (= 10 (length list)))
(should (seq-every-p #'overlayp list)))))
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | overlay-put/get/properties
-;;
+===================================================================================+
+;; +==========================================================================+
;; Test if overlay-put properties can be retrieved by overlay-get and
;; overlay-properties.
@@ -405,10 +414,10 @@ with parameters from the *Messages* buffer modification."
;; Check if overlay-properties is a subset.
(should (= (length (overlay-properties ov)) (* n 2))))))
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | next-overlay-change
-;;
+===================================================================================+
+;; +==========================================================================+
;; Test if next-overlay-change returns RESULT if called with POS in a
;; buffer with overlays corresponding to OVS and point-max >= 100.
@@ -496,10 +505,10 @@ with parameters from the *Messages* buffer modification."
(58 66) (41 10) (9 67) (28 88) (27 43)
(24 27) (48 36) (5 90) (61 9))
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | previous-overlay-change.
-;;
+===================================================================================+
+;; +==========================================================================+
;; Same for previous-overlay-change.
;; 1 non-empty overlay
@@ -584,10 +593,10 @@ with parameters from the *Messages* buffer modification."
(58 66) (41 10) (9 67) (28 88) (27 43)
(24 27) (48 36) (5 90) (61 9))
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | overlays-at
-;;
+===================================================================================+
+;; +==========================================================================+
;; Test whether overlay-at returns RESULT at POS after overlays OVL were
@@ -641,7 +650,7 @@ with parameters from the *Messages* buffer modification."
;; behaviour at point-min and point-max
(ert-deftest test-overlays-at-2 ()
(cl-macrolet ((should-length (n list)
- `(should (= ,n (length ,list)))))
+ `(should (= ,n (length ,list)))))
(with-temp-buffer
(insert (make-string 100 ?\s))
(make-overlay 1 (point-max))
@@ -657,10 +666,10 @@ with parameters from the *Messages* buffer modification."
(should-length 1 (overlays-at 15))
(should-length 1 (overlays-at (point-max))))))
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | overlay-in
-;;
+===================================================================================+
+;; +==========================================================================+
;; Test whether overlays-in returns RES in BEG,END after overlays OVL were
@@ -738,7 +747,7 @@ with parameters from the *Messages* buffer modification."
;; behaviour at point-max
(ert-deftest test-overlays-in-2 ()
(cl-macrolet ((should-length (n list)
- `(should (= ,n (length ,list)))))
+ `(should (= ,n (length ,list)))))
(with-temp-buffer
(insert (make-string 100 ?\s))
(make-overlay (point-max) (point-max))
@@ -750,10 +759,10 @@ with parameters from the *Messages* buffer modification."
(should-length 0 (overlays-in 1 (point-max)))
(should-length 1 (overlays-in (point-max) (point-max))))))
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | overlay-recenter
-;;
+===================================================================================+
+;; +==========================================================================+
;; This function is a noop in the overlay tree branch.
(ert-deftest test-overlay-recenter ()
@@ -764,10 +773,10 @@ with parameters from the *Messages* buffer modification."
(make-overlay i (1+ i))
(should-not (overlay-recenter i)))))
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | move-overlay
-;;
+===================================================================================+
+;; +==========================================================================+
;; buffer nil with live overlay
(ert-deftest test-move-overlay-1 ()
@@ -811,23 +820,9 @@ with parameters from the *Messages* buffer modification."
(should-not (overlay-end ov))
(should-not (overlay-buffer ov))))
-;; This used to fail.
-(ert-deftest test-move-overlay-5 ()
- (skip-unless (fboundp 'overlay-tree))
- (with-temp-buffer
- (insert (make-string 1 ?.))
- (let ((other (make-overlay 1 1)))
- (make-overlay 1 1)
- (insert "()")
- (move-overlay other (point-max) (1+ (point-max)) (current-buffer))
- (delete-overlay other))
- (should (= (plist-get (car (with-no-warnings (overlay-tree))) :limit)
- 1))))
-
-
-;;
+===================================================================================+
+;; +==========================================================================+
;; | delete-(all-)overlay
-;;
+===================================================================================+
+;; +==========================================================================+
;; delete live overlay
(ert-deftest test-delete-overlay-1 ()
@@ -858,22 +853,22 @@ with parameters from the *Messages* buffer modification."
(should-not (delete-all-overlays (current-buffer)))
(should-not (delete-all-overlays))))
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | get-char-property(-and-overlay)
-;;
+===================================================================================+
+;; +==========================================================================+
;; FIXME: TBD
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | Moving by insertions
-;;
+===================================================================================+
+;; +==========================================================================+
(defmacro deftest-moving-insert-1 (id beg-end insert sbeg-send fa ra)
(cl-destructuring-bind (beg end ipos ilen sbeg send fa ra)
(append beg-end insert sbeg-send (list fa ra) nil)
- `(ert-deftest ,(make-overlay-test-name 'moving-insert 1 id) ()
+ `(ert-deftest ,(buffer-tests--make-test-name 'moving-insert 1 id) ()
(test-with-overlay-in-buffer (ov ,beg ,end ,fa ,ra)
(should (= ,beg (overlay-start ov)))
(should (= ,end (overlay-end ov)))
@@ -981,15 +976,15 @@ with parameters from the *Messages* buffer modification."
(should (= 2 (length (overlays-in 1 (point-max))))))))
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | Moving by deletions
-;;
+===================================================================================+
+;; +==========================================================================+
(defmacro deftest-moving-delete-1 (id beg-end delete sbeg-send fa ra)
(cl-destructuring-bind (beg end dpos dlen sbeg send fa ra)
(append beg-end delete sbeg-send (list fa ra) nil)
- `(ert-deftest ,(make-overlay-test-name 'moving-delete 1 id) ()
+ `(ert-deftest ,(buffer-tests--make-test-name 'moving-delete 1 id) ()
(test-with-overlay-in-buffer (ov ,beg ,end ,fa ,ra)
(should (= ,beg (overlay-start ov)))
(should (= ,end (overlay-end ov)))
@@ -1046,10 +1041,10 @@ with parameters from the *Messages* buffer
modification."
(deftest-moving-delete-1 e (15 15) (5 5) (10 10) t t)
(deftest-moving-delete-1 f (15 15) (15 3) (15 15) t t)
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | make-indirect-buffer
-;;
+===================================================================================+
+;; +==========================================================================+
;; Check if overlays are cloned/seperate from indirect buffer.
(ert-deftest test-make-indirect-buffer-1 ()
@@ -1089,22 +1084,22 @@ with parameters from the *Messages* buffer
modification."
(kill-buffer indirect))))))
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | buffer-swap-text
-;;
+===================================================================================+
+;; +==========================================================================+
-(defmacro test-with-temp-buffers (vars &rest body)
+(defmacro buffer-tests--with-temp-buffers (vars &rest body)
(declare (indent 1) (debug (sexp &rest form)))
(if (null vars)
`(progn ,@body)
`(with-temp-buffer
(let ((,(car vars) (current-buffer)))
- (test-with-temp-buffers ,(cdr vars) ,@body)))))
+ (buffer-tests--with-temp-buffers ,(cdr vars) ,@body)))))
;; basic
(ert-deftest test-buffer-swap-text-1 ()
- (test-with-temp-buffers (buffer other)
+ (buffer-tests--with-temp-buffers (buffer other)
(with-current-buffer buffer
(let ((ov (make-overlay 1 1)))
(buffer-swap-text other)
@@ -1115,7 +1110,7 @@ with parameters from the *Messages* buffer modification."
;; properties
(ert-deftest test-buffer-swap-text-1 ()
- (test-with-temp-buffers (buffer other)
+ (buffer-tests--with-temp-buffers (buffer other)
(with-current-buffer other
(overlay-put (make-overlay 1 1) 'buffer 'other))
(with-current-buffer buffer
@@ -1127,10 +1122,10 @@ with parameters from the *Messages* buffer
modification."
(should (= 1 (length (overlays-in 1 1))))
(should (eq (overlay-get (car (overlays-in 1 1)) 'buffer) 'buffer)))))
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | priorities
-;;
+===================================================================================+
+;; +==========================================================================+
(ert-deftest test-overlay-priorities-1 ()
(with-temp-buffer
@@ -1151,10 +1146,10 @@ with parameters from the *Messages* buffer
modification."
(overlay-put ov 'value i)))
(should (eq 9 (get-char-property 1 'value)))))
-
-;;
+===================================================================================+
+
+;; +==========================================================================+
;; | Other
-;;
+===================================================================================+
+;; +==========================================================================+
(defun test-overlay-regions ()
(sort (mapcar (lambda (ov)
@@ -1270,9 +1265,10 @@ with parameters from the *Messages* buffer modification."
(nonempty-eob (make-overlay 4 5))
(empty-eob (make-overlay 5 5)))
(set-buffer-multibyte nil)
- (cl-macrolet ((ovshould (ov begin end)
- `(should (equal (list (overlay-start ,ov) (overlay-end
,ov))
- (list ,begin ,end)))))
+ (cl-macrolet
+ ((ovshould (ov begin end)
+ `(should (equal (list (overlay-start ,ov) (overlay-end ,ov))
+ (list ,begin ,end)))))
(ovshould nonempty-bob 1 3)
(ovshould empty-bob 1 1)
(ovshould empty 3 3)
@@ -1301,9 +1297,10 @@ with parameters from the *Messages* buffer modification."
(nonempty-eob-end (make-overlay 6 9))
(empty-eob (make-overlay 9 9)))
(set-buffer-multibyte t)
- (cl-macrolet ((ovshould (ov begin end)
- `(should (equal (list (overlay-start ,ov) (overlay-end
,ov))
- (list ,begin ,end)))))
+ (cl-macrolet
+ ((ovshould (ov begin end)
+ `(should (equal (list (overlay-start ,ov) (overlay-end ,ov))
+ (list ,begin ,end)))))
(ovshould nonempty-bob-end 1 2)
(ovshould nonempty-bob-beg 1 2)
(ovshould empty-bob 1 1)
@@ -1324,6 +1321,7 @@ with parameters from the *Messages* buffer modification."
;; | Autogenerated insert/delete/narrow tests
;;
+===================================================================================+
+(when nil ;; Let's comment these out for now.
;; (defun test-overlay-generate-test (name)
;; (interactive)
@@ -7777,4 +7775,6 @@ with parameters from the *Messages* buffer modification."
(101 . 138)
(103 . 103))))))
+) ;; End of `when nil'.
+
;;; buffer-tests.el ends here