org-list: Add visibility tests
* testing/lisp/test-org-list.el: Add tests.
This commit is contained in:
parent
56fe788c8f
commit
0ebeb77a1a
|
@ -358,6 +358,169 @@
|
||||||
- Item 3.1
|
- Item 3.1
|
||||||
"))))
|
"))))
|
||||||
|
|
||||||
|
(ert-deftest test-org-list/move-item-down ()
|
||||||
|
"Test `org-move-item-down' specifications."
|
||||||
|
;; Standard test.
|
||||||
|
(org-test-with-temp-text "- item 1\n- item 2"
|
||||||
|
(org-move-item-down)
|
||||||
|
(should (equal (buffer-string)
|
||||||
|
"- item 2\n- item 1")))
|
||||||
|
;; Keep same column in item.
|
||||||
|
(org-test-with-temp-text "- item 1\n- item 2"
|
||||||
|
(forward-char 4)
|
||||||
|
(org-move-item-down)
|
||||||
|
(should (looking-at "em 1")))
|
||||||
|
;; Move sub-items.
|
||||||
|
(org-test-with-temp-text "- item 1\n - sub-item 1\n- item 2"
|
||||||
|
(org-move-item-down)
|
||||||
|
(should (equal (buffer-string)
|
||||||
|
"- item 2\n- item 1\n - sub-item 1")))
|
||||||
|
;; Preserve blank lines.
|
||||||
|
(org-test-with-temp-text "- item 1\n\n- item 2"
|
||||||
|
(let ((org-empty-line-terminates-plain-lists nil)) (org-move-item-down))
|
||||||
|
(should (equal (buffer-string) "- item 2\n\n- item 1")))
|
||||||
|
;; Error when trying to move the last item...
|
||||||
|
(org-test-with-temp-text "- item 1\n- item 2"
|
||||||
|
(forward-line)
|
||||||
|
(should-error (org-move-item-down)))
|
||||||
|
;; ... unless `org-list-use-circular-motion' is non-nil. In this
|
||||||
|
;; case, move to the first item.
|
||||||
|
(org-test-with-temp-text "- item 1\n- item 2\n- item 3"
|
||||||
|
(forward-line 2)
|
||||||
|
(let ((org-list-use-circular-motion t)) (org-move-item-down))
|
||||||
|
(should (equal (buffer-string) "- item 3\n- item 1\n- item 2\n")))
|
||||||
|
;; Preserve item visibility.
|
||||||
|
(org-test-with-temp-text "* Headline\n- item 1\n body 1\n- item 2\n body 2"
|
||||||
|
(let ((org-cycle-include-plain-lists t))
|
||||||
|
(search-forward "- item 1")
|
||||||
|
(org-cycle)
|
||||||
|
(search-forward "- item 2")
|
||||||
|
(org-cycle))
|
||||||
|
(search-backward "- item 1")
|
||||||
|
(org-move-item-down)
|
||||||
|
(forward-line)
|
||||||
|
(should (org-invisible-p2))
|
||||||
|
(search-backward " body 2")
|
||||||
|
(should (org-invisible-p2)))
|
||||||
|
;; Preserve children visibility.
|
||||||
|
(org-test-with-temp-text "* Headline
|
||||||
|
- item 1
|
||||||
|
- sub-item 1
|
||||||
|
sub-body 1
|
||||||
|
- item 2
|
||||||
|
- sub-item 2
|
||||||
|
sub-body 2"
|
||||||
|
(let ((org-cycle-include-plain-lists t))
|
||||||
|
(search-forward "- sub-item 1")
|
||||||
|
(org-cycle)
|
||||||
|
(search-forward "- sub-item 2")
|
||||||
|
(org-cycle))
|
||||||
|
(search-backward "- item 1")
|
||||||
|
(org-move-item-down)
|
||||||
|
(search-forward "sub-body 1")
|
||||||
|
(should (org-invisible-p2))
|
||||||
|
(search-backward "sub-body 2")
|
||||||
|
(should (org-invisible-p2)))
|
||||||
|
;; Preserve contents visibility.
|
||||||
|
(org-test-with-temp-text "
|
||||||
|
- item 1
|
||||||
|
#+BEGIN_CENTER
|
||||||
|
Text1
|
||||||
|
#+END_CENTER
|
||||||
|
- item 2
|
||||||
|
#+BEGIN_CENTER
|
||||||
|
Text2
|
||||||
|
#+END_CENTER"
|
||||||
|
(org-hide-block-all)
|
||||||
|
(search-forward "- item 1")
|
||||||
|
(org-move-item-down)
|
||||||
|
(search-forward "Text1")
|
||||||
|
(should (org-invisible-p2))
|
||||||
|
(search-backward "Text2")
|
||||||
|
(should (org-invisible-p2))))
|
||||||
|
|
||||||
|
(ert-deftest test-org-list/move-item-up ()
|
||||||
|
"Test `org-move-item-up' specifications."
|
||||||
|
;; Standard test.
|
||||||
|
(org-test-with-temp-text "- item 1\n- item 2"
|
||||||
|
(forward-line)
|
||||||
|
(org-move-item-up)
|
||||||
|
(should (equal (buffer-string)
|
||||||
|
"- item 2\n- item 1")))
|
||||||
|
;; Keep same column in item.
|
||||||
|
(org-test-with-temp-text "- item 1\n- item 2"
|
||||||
|
(forward-line)
|
||||||
|
(forward-char 4)
|
||||||
|
(org-move-item-up)
|
||||||
|
(should (looking-at "em 2")))
|
||||||
|
;; Move sub-items.
|
||||||
|
(org-test-with-temp-text "- item 1\n- item 2\n - sub-item 2"
|
||||||
|
(forward-line)
|
||||||
|
(org-move-item-up)
|
||||||
|
(should (equal (buffer-string)
|
||||||
|
"- item 2\n - sub-item 2\n- item 1")))
|
||||||
|
;; Preserve blank lines.
|
||||||
|
(org-test-with-temp-text "- item 1\n\n- item 2"
|
||||||
|
(search-forward "- item 2")
|
||||||
|
(let ((org-empty-line-terminates-plain-lists nil)) (org-move-item-up))
|
||||||
|
(should (equal (buffer-string) "- item 2\n\n- item 1")))
|
||||||
|
;; Error when trying to move the first item...
|
||||||
|
(org-test-with-temp-text "- item 1\n- item 2"
|
||||||
|
(should-error (org-move-item-up)))
|
||||||
|
;; ... unless `org-list-use-circular-motion' is non-nil. In this
|
||||||
|
;; case, move to the first item.
|
||||||
|
(org-test-with-temp-text "- item 1\n- item 2\n- item 3"
|
||||||
|
(let ((org-list-use-circular-motion t)) (org-move-item-up))
|
||||||
|
(should (equal (buffer-string) "- item 2\n- item 3\n- item 1")))
|
||||||
|
;; Preserve item visibility.
|
||||||
|
(org-test-with-temp-text "* Headline\n- item 1\n body 1\n- item 2\n body 2"
|
||||||
|
(let ((org-cycle-include-plain-lists t))
|
||||||
|
(search-forward "- item 1")
|
||||||
|
(org-cycle)
|
||||||
|
(search-forward "- item 2")
|
||||||
|
(org-cycle))
|
||||||
|
(org-move-item-up)
|
||||||
|
(forward-line)
|
||||||
|
(should (org-invisible-p2))
|
||||||
|
(search-forward " body 1")
|
||||||
|
(should (org-invisible-p2)))
|
||||||
|
;; Preserve children visibility.
|
||||||
|
(org-test-with-temp-text "* Headline
|
||||||
|
- item 1
|
||||||
|
- sub-item 1
|
||||||
|
sub-body 1
|
||||||
|
- item 2
|
||||||
|
- sub-item 2
|
||||||
|
sub-body 2"
|
||||||
|
(let ((org-cycle-include-plain-lists t))
|
||||||
|
(search-forward "- sub-item 1")
|
||||||
|
(org-cycle)
|
||||||
|
(search-forward "- sub-item 2")
|
||||||
|
(org-cycle))
|
||||||
|
(search-backward "- item 2")
|
||||||
|
(org-move-item-up)
|
||||||
|
(search-forward "sub-body 2")
|
||||||
|
(should (org-invisible-p2))
|
||||||
|
(search-forward "sub-body 1")
|
||||||
|
(should (org-invisible-p2)))
|
||||||
|
;; Preserve contents visibility.
|
||||||
|
(org-test-with-temp-text "
|
||||||
|
- item 1
|
||||||
|
#+BEGIN_CENTER
|
||||||
|
Text1
|
||||||
|
#+END_CENTER
|
||||||
|
- item 2
|
||||||
|
#+BEGIN_CENTER
|
||||||
|
Text2
|
||||||
|
#+END_CENTER"
|
||||||
|
(org-hide-block-all)
|
||||||
|
(search-forward "- item 2")
|
||||||
|
(org-move-item-up)
|
||||||
|
(search-forward "Text2")
|
||||||
|
(should (org-invisible-p2))
|
||||||
|
(search-forward "Text1")
|
||||||
|
(should (org-invisible-p2))))
|
||||||
|
|
||||||
|
|
||||||
(provide 'test-org-list)
|
(provide 'test-org-list)
|
||||||
;;; test-org-list.el ends here
|
;;; test-org-list.el ends here
|
||||||
|
|
Loading…
Reference in New Issue