[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org 5a6d00a3a3 1/2: test-org-num.el: Do not rely on fix
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org 5a6d00a3a3 1/2: test-org-num.el: Do not rely on fixed overlay order in `overlays-in' |
Date: |
Tue, 8 Nov 2022 21:57:53 -0500 (EST) |
branch: externals/org
commit 5a6d00a3a343d64acbc34fb0c35da754f52d172c
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>
test-org-num.el: Do not rely on fixed overlay order in `overlays-in'
* testing/lisp/test-org-num.el (test-org-num/max-level):
(test-org-num/skip-numbering):
(test-org-num/update):
* testing/lisp/test-org-table.el (test-org-table/toggle-column-width):
Do not expect specific overlay order in the return value of
`overlays-in'. The order is not guaranteed by the docstring and has
been changed in Emacs 29.
Link: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59067
---
testing/lisp/test-org-num.el | 192 +++++++++++++++++++++++++----------------
testing/lisp/test-org-table.el | 34 ++++++--
2 files changed, 146 insertions(+), 80 deletions(-)
diff --git a/testing/lisp/test-org-num.el b/testing/lisp/test-org-num.el
index 7a247b04a5..1de7702d9e 100644
--- a/testing/lisp/test-org-num.el
+++ b/testing/lisp/test-org-num.el
@@ -68,113 +68,143 @@
(ert-deftest test-org-num/max-level ()
"Test `org-num-max-level' option."
(should
- (equal '("1.1 " "1 ")
+ (equal (sort '("1.1 " "1 ") #'string-lessp)
(org-test-with-temp-text "* H1\n** H2\n*** H3"
(let ((org-num-max-level 2)) (org-num-mode 1))
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max)))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp)))))
(ert-deftest test-org-num/skip-numbering ()
"Test various skip numbering parameters."
;; Skip commented headlines.
(should
- (equal '(nil "1 ")
+ (equal (sort '(nil "1 ") #'string-lessp)
(org-test-with-temp-text "* H1\n* COMMENT H2"
(let ((org-num-skip-commented t)) (org-num-mode 1))
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
(should
- (equal '("2 " "1 ")
+ (equal (sort '("2 " "1 ") #'string-lessp)
(org-test-with-temp-text "* H1\n* COMMENT H2"
(let ((org-num-skip-commented nil)) (org-num-mode 1))
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
;; Skip commented sub-trees.
(should
- (equal '(nil nil)
+ (equal (sort '(nil nil) #'string-lessp)
(org-test-with-temp-text "* COMMENT H1\n** H2"
(let ((org-num-skip-commented t)) (org-num-mode 1))
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
;; Skip footnotes sections.
(should
- (equal '(nil "1 ")
+ (equal (sort '(nil "1 ") #'string-lessp)
(org-test-with-temp-text "* H1\n* FN"
(let ((org-num-skip-footnotes t)
(org-footnote-section "FN"))
(org-num-mode 1))
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
(should
- (equal '("2 " "1 ")
+ (equal (sort '("2 " "1 ") #'string-lessp)
(org-test-with-temp-text "* H1\n* FN"
(let ((org-num-skip-footnotes nil)
(org-footnote-section "FN"))
(org-num-mode 1))
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
;; Skip tags, recursively.
(should
- (equal '(nil "1 ")
+ (equal (sort '(nil "1 ") #'string-lessp)
(org-test-with-temp-text "* H1\n* H2 :foo:"
(let ((org-num-skip-tags '("foo"))) (org-num-mode 1))
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
(should
- (equal '(nil nil)
+ (equal (sort '(nil nil) #'string-lessp)
(org-test-with-temp-text "* H1 :foo:\n** H2"
(let ((org-num-skip-tags '("foo"))) (org-num-mode 1))
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
;; Skip unnumbered sections.
(should
- (equal '(nil "1 ")
+ (equal (sort '(nil "1 ") #'string-lessp)
(org-test-with-temp-text
"* H1\n* H2\n:PROPERTIES:\n:UNNUMBERED: t\n:END:"
(let ((org-num-skip-unnumbered t)) (org-num-mode 1))
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
(should
- (equal '("2 " "1 ")
+ (equal (sort '("2 " "1 ") #'string-lessp)
(org-test-with-temp-text
"* H1\n* H2\n:PROPERTIES:\n:UNNUMBERED: t\n:END:"
(let ((org-num-skip-unnumbered nil)) (org-num-mode 1))
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
(should
- (equal '("2 " "1 ")
+ (equal (sort '("2 " "1 ") #'string-lessp)
(org-test-with-temp-text
"* H1\n* H2\n:PROPERTIES:\n:UNNUMBERED: nil\n:END:"
(let ((org-num-skip-unnumbered t)) (org-num-mode 1))
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
;; Skip unnumbered sub-trees.
(should
- (equal '(nil nil)
+ (equal (sort '(nil nil) #'string-lessp)
(org-test-with-temp-text
"* H1\n:PROPERTIES:\n:UNNUMBERED: t\n:END:\n** H2"
(let ((org-num-skip-unnumbered t)) (org-num-mode 1))
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
;; Do not choke on empty headlines.
(should
- (equal '("1 ")
+ (equal (sort '("1 ") #'string-lessp)
(org-test-with-temp-text "* "
(let ((org-num-skip-commented t)) (org-num-mode 1))
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
(should
- (equal '("1 ")
+ (equal (sort '("1 ") #'string-lessp)
(org-test-with-temp-text "* "
(let ((org-num-skip-unnumbered t)) (org-num-mode 1))
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
(should
- (equal '("1 ")
+ (equal (sort '("1 ") #'string-lessp)
(org-test-with-temp-text "* "
(let ((org-num-skip-footnotes t)) (org-num-mode 1))
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max)))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp)))))
(ert-deftest test-org-num/update ()
"Test numbering update after a buffer modification."
@@ -202,79 +232,97 @@
'after-string))))
;; Headlines created at END.
(should
- (equal '("1 ")
+ (equal (sort '("1 ") #'string-lessp)
(org-test-with-temp-text "X<point> H"
(org-num-mode 1)
(insert "\n*")
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
(should
- (equal '("1 ")
+ (equal (sort '("1 ") #'string-lessp)
(org-test-with-temp-text "X<point>* H"
(org-num-mode 1)
(insert "\n")
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
;; Headlines created between BEG and END.
(should
- (equal '("1.1 " "1 ")
+ (equal (sort '("1.1 " "1 ") #'string-lessp)
(org-test-with-temp-text ""
(org-num-mode 1)
(insert "\n* H\n** H2")
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
;; Change level of a headline.
(should
- (equal '("0.1 ")
+ (equal (sort '("0.1 ") #'string-lessp)
(org-test-with-temp-text "* H"
(org-num-mode 1)
(insert "*")
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
(should
- (equal '("1 ")
+ (equal (sort '("1 ") #'string-lessp)
(org-test-with-temp-text "*<point>* H"
(org-num-mode 1)
(delete-char 1)
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
;; Alter skip state.
(should
- (equal '("1 ")
+ (equal (sort '("1 ") #'string-lessp)
(org-test-with-temp-text "* H :fo<point>o:"
(let ((org-num-skip-tags '("foo")))
(org-num-mode 1)
(delete-char 1))
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
(should
- (equal '(nil)
+ (equal (sort '(nil) #'string-lessp)
(org-test-with-temp-text "* H :fo<point>:"
(let ((org-num-skip-tags '("foo")))
(org-num-mode 1)
(insert "o"))
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))
;; Invalidate an overlay and insert new headlines.
(should
- (equal '("1.2 " "1.1 " "1 ")
+ (equal (sort '("1.2 " "1.1 " "1 ") #'string-lessp)
(org-test-with-temp-text
"* H\n:PROPERTIES:\n:UNNUMBE<point>RED: t\n:END:"
(let ((org-num-skip-unnumbered t))
(org-num-mode 1)
(insert "\n** H2\n** H3\n")
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max)))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp)))))
;; Invalidate two overlays: current headline and next one.
(should
- (equal '("1 ")
+ (equal (sort '("1 ") #'string-lessp)
(org-test-with-temp-text
"* H\n:PROPERTIES:\n:UNNUMBE<point>RED: t\n:END:\n** H2"
(let ((org-num-skip-unnumbered t))
(org-num-mode 1)
(delete-region (point) (line-beginning-position 3))
- (mapcar (lambda (o) (overlay-get o 'after-string))
- (overlays-in (point-min) (point-max))))))))
+ (sort
+ (mapcar (lambda (o) (overlay-get o 'after-string))
+ (overlays-in (point-min) (point-max)))
+ #'string-lessp))))))
(provide 'test-org-num)
;;; org-test-num.el ends here
diff --git a/testing/lisp/test-org-table.el b/testing/lisp/test-org-table.el
index 5731798783..646ff9012f 100644
--- a/testing/lisp/test-org-table.el
+++ b/testing/lisp/test-org-table.el
@@ -3049,23 +3049,36 @@ See also `test-org-table/copy-field'."
(org-table-toggle-column-width)
(buffer-substring (line-beginning-position)
(overlay-start
- (car (overlays-in (line-beginning-position)
- (line-end-position))))))))
+ (nth
+ 1
+ (sort
+ (overlays-in (line-beginning-position)
+ (line-end-position))
+ (lambda (ov1 ov2) (< (overlay-start ov1)
+ (overlay-start ov2))))))))))
(should
(equal "| a "
(org-test-with-temp-text "| <3> |\n| <point>a |"
(org-table-toggle-column-width)
(buffer-substring (line-beginning-position)
(overlay-start
- (car (overlays-in (line-beginning-position)
- (line-end-position))))))))
+ (car
+ (sort
+ (overlays-in (line-beginning-position)
+ (line-end-position))
+ (lambda (ov1 ov2) (< (overlay-start ov1)
+ (overlay-start ov2))))))))))
(should
(equal (concat "----" org-table-shrunk-column-indicator)
(org-test-with-temp-text "| <3> |\n|--<point>----|"
(org-table-toggle-column-width)
(overlay-get
- (car (overlays-in (line-beginning-position)
- (line-end-position)))
+ (car
+ (sort
+ (overlays-in (line-beginning-position)
+ (line-end-position))
+ (lambda (ov1 ov2) (< (overlay-start ov1)
+ (overlay-start ov2)))))
'display))))
;; Width only takes into account visible characters.
(should
@@ -3074,8 +3087,13 @@ See also `test-org-table/copy-field'."
(org-table-toggle-column-width)
(buffer-substring (line-beginning-position)
(overlay-start
- (car (overlays-in (line-beginning-position)
- (line-end-position))))))))
+ (nth
+ 1
+ (sort
+ (overlays-in (line-beginning-position)
+ (line-end-position))
+ (lambda (ov1 ov2) (< (overlay-start ov1)
+ (overlay-start ov2))))))))))
;; Before the first column or after the last one, ask for columns
;; ranges.
(should