Bladeren bron

test-org-element: Add new tests for org-element-cache

* testing/lisp/test-org-element.el (test-org-element/cache): Add tests
for edits near :end of an element.
Ihor Radchenko 3 jaren geleden
bovenliggende
commit
f0c474e659
1 gewijzigde bestanden met toevoegingen van 16 en 0 verwijderingen
  1. 16 0
      testing/lisp/test-org-element.el

+ 16 - 0
testing/lisp/test-org-element.el

@@ -4068,6 +4068,22 @@ Text
                   (should (eq 'example-block (org-element-type (org-element-at-point))))
                   (re-search-forward "END_")
                   (org-element-type (org-element-at-point))))))
+  ;; Test edits near :end of element
+  (should-not (eq 'headline
+                  (org-test-with-temp-text "* H1\nP1\n<point>*H2\n"
+                    (org-element-cache-map #'ignore :granularity 'element)
+                    (insert "Blah")
+                    (org-element-type (org-element-at-point)))))
+  (should-not (eq 'headline
+                  (org-test-with-temp-text "* H1\nP1\n<point>*H2\n"
+                    (org-element-cache-map #'ignore :granularity 'element)
+                    (backward-delete-char 1)
+                    (org-element-type (org-element-at-point)))))
+  (should (eq 'headline
+              (org-test-with-temp-text "* H1\nP1\n<point*H2\n"
+                (org-element-cache-map #'ignore :granularity 'element)
+                (insert "Blah\n")
+                (org-element-type (org-element-at-point)))))
   ;; Corner case: watch out drawers named "PROPERTIES" as they are
   ;; fragile, unlike to other drawers.
   (should