branch: externals/org commit 4bad221a609aabde27b8e793ff812c22a4bb071a Author: Ihor Radchenko <yanta...@gmail.com> Commit: Ihor Radchenko <yanta...@gmail.com>
test-org-element: Add new tests * testing/lisp/test-org-element.el (test-org-element/cache): Add new tests checking against intersected elements and checking that Phase 2 removes obsolete elements. --- testing/lisp/test-org-element.el | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/testing/lisp/test-org-element.el b/testing/lisp/test-org-element.el index f9fc114..54ca740 100644 --- a/testing/lisp/test-org-element.el +++ b/testing/lisp/test-org-element.el @@ -4045,6 +4045,29 @@ Text (delete-char -1) (search-backward "Para1") (org-element-type (org-element-at-point)))))) + ;; Make sure that we do not generate intersecting elements. + (should (eq 'paragraph + (org-test-with-temp-text ":DRAWER:\nP1\n<point>\n:END:\n#+END_EXAMPLE" + (let ((org-element-use-cache t)) + (org-element-at-point (point-max)) + (org-element-at-point) + (insert "#+BEGIN_EXAMPLE") + (org-element-type (org-element-at-point)))))) + ;; But yet correctly slurp obsolete elements inside a new element. + (should (eq 'example-block + (org-test-with-temp-text ":DRAWER:\nP1\n<point>\nP2\n#+END_EXAMPLE\n:END:" + (let ((org-element-use-cache t)) + (org-element-at-point (point-max)) + (save-excursion + (re-search-forward "P2") + (should (eq 'paragraph (org-element-type (org-element-at-point)))) + (re-search-forward "END_") + (should (eq 'paragraph (org-element-type (org-element-at-point))))) + (insert "#+BEGIN_EXAMPLE") + (re-search-forward "P2") + (should (eq 'example-block (org-element-type (org-element-at-point)))) + (re-search-forward "END_") + (org-element-type (org-element-at-point)))))) ;; Corner case: watch out drawers named "PROPERTIES" as they are ;; fragile, unlike to other drawers. (should