diff options
Diffstat (limited to 'tests/test-pearl-comments.el')
| -rw-r--r-- | tests/test-pearl-comments.el | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/test-pearl-comments.el b/tests/test-pearl-comments.el index 7fa4482..d335132 100644 --- a/tests/test-pearl-comments.el +++ b/tests/test-pearl-comments.el @@ -166,5 +166,26 @@ (test-pearl--in-org "* Plain heading\nno id\n" (should-error (pearl-add-comment "x") :type 'user-error))) +(ert-deftest test-pearl-append-comment-targets-current-issue-not-sibling () + "Appending adds under the current issue's Comments, not a later issue's subtree." + (test-pearl--in-org + (concat "** TODO Issue A\n:PROPERTIES:\n:LINEAR-ID: a\n:END:\nBody A.\n" + "*** Comments\n**** X — t\n:PROPERTIES:\n:LINEAR-COMMENT-ID: cx\n:END:\nfirst A\n" + "** TODO Issue B\n:PROPERTIES:\n:LINEAR-ID: b\n:END:\nBody B.\n" + "*** Comments\n**** Y — t\n:PROPERTIES:\n:LINEAR-COMMENT-ID: cy\n:END:\nfirst B\n") + (goto-char (point-min)) + (re-search-forward "Body A\\.") + (pearl--append-comment-to-issue + '(:id "cnew" :author "Z" :created-at "2026-05-24T12:00:00.000Z" :body "new on A")) + ;; the new comment landed under issue A, before issue B + (goto-char (point-min)) + (let ((new-pos (progn (re-search-forward "new on A") (point))) + (b-pos (progn (goto-char (point-min)) (re-search-forward "Issue B") (point)))) + (should (< new-pos b-pos))) + ;; issue B still has exactly one Comments heading (not a second one) + (goto-char (point-min)) + (re-search-forward "Issue B") + (should (re-search-forward "^\\*\\*\\* Comments$" nil t)))) + (provide 'test-pearl-comments) ;;; test-pearl-comments.el ends here |
