From 41a33964c6b97858a17fd12288592b03d5df68d9 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Tue, 26 May 2026 14:24:44 -0500 Subject: feat(comments): lead the Comments heading with the 💬 glyph MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Comments heading rendered the count marker as `Comments 💬 5/18`, with the glyph wedged between the word and the count. I moved the 💬 to the front of the heading, rendering `💬 Comments 5/18`, so it reads as an icon for the section rather than part of the number. `pearl--comment-count-marker` now returns just ` 5/18`, and `pearl--format-comments` leads with the glyph. The append locator that finds an issue's Comments subtree now tolerates the leading 💬, and still matches the old `Comments 💬 N/N` layout so a buffer rendered before this change keeps working on the next add-comment. --- tests/test-pearl-comments.el | 4 ++-- tests/test-pearl-list-comments.el | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) (limited to 'tests') diff --git a/tests/test-pearl-comments.el b/tests/test-pearl-comments.el index 85d1c84..591b4ce 100644 --- a/tests/test-pearl-comments.el +++ b/tests/test-pearl-comments.el @@ -73,7 +73,7 @@ "With newest-first order, the most recent comment renders on top." (let* ((pearl-comment-sort-order 'newest-first) (out (pearl--format-comments test-pearl--two-comments))) - (should (string-match-p "^\\*\\*\\* Comments$" out)) + (should (string-match-p "^\\*\\*\\* 💬 Comments$" out)) (should (< (string-match "second" out) (string-match "first" out))))) (ert-deftest test-pearl-format-comments-oldest-first () @@ -92,7 +92,7 @@ :state (:name "Todo") :description "Body text." :comments ((:id "c1" :author "A" :created-at "2026-05-23T09:00:00.000Z" :body "a comment")))))) - (should (string-match-p "^\\*\\*\\* Comments$" out)) + (should (string-match-p "^\\*\\*\\* 💬 Comments$" out)) (should (< (string-match "Body text." out) (string-match "a comment" out)))))) ;;; --create-comment-async diff --git a/tests/test-pearl-list-comments.el b/tests/test-pearl-list-comments.el index be0880e..1e2b009 100644 --- a/tests/test-pearl-list-comments.el +++ b/tests/test-pearl-list-comments.el @@ -91,9 +91,9 @@ (ert-deftest test-pearl-comment-count-marker-forms () "The marker renders shown/total, with a `+' past the cap and nothing for nil." - (should (string= " 💬 5/18" (pearl--comment-count-marker '(:shown 5 :total 18 :overflow nil)))) - (should (string= " 💬 5/25+" (pearl--comment-count-marker '(:shown 5 :total 25 :overflow t)))) - (should (string= " 💬 3/3" (pearl--comment-count-marker '(:shown 3 :total 3 :overflow nil)))) + (should (string= " 5/18" (pearl--comment-count-marker '(:shown 5 :total 18 :overflow nil)))) + (should (string= " 5/25+" (pearl--comment-count-marker '(:shown 5 :total 25 :overflow t)))) + (should (string= " 3/3" (pearl--comment-count-marker '(:shown 3 :total 3 :overflow nil)))) (should (string= "" (pearl--comment-count-marker nil)))) ;;; --format-comments with a marker @@ -103,14 +103,14 @@ (let* ((pearl-comment-sort-order 'newest-first) (comments (test-pearl--comments 5)) ; newest-first as fetched (out (pearl--format-comments comments '(:shown 5 :total 12 :overflow nil)))) - (should (string-match-p "^\\*\\*\\* Comments 💬 5/12$" out)) + (should (string-match-p "^\\*\\*\\* 💬 Comments 5/12$" out)) ;; newest (comment 5) renders before oldest (comment 1) (should (< (string-match "comment 5\\b" out) (string-match "comment 1\\b" out))))) (ert-deftest test-pearl-format-comments-no-marker-without-count () "Without count-info (the single-issue thread), the heading has no marker." (let ((out (pearl--format-comments (test-pearl--comments 2)))) - (should (string-match-p "^\\*\\*\\* Comments$" out)))) + (should (string-match-p "^\\*\\*\\* 💬 Comments$" out)))) ;;; the marked heading is still found by the append locator @@ -128,15 +128,15 @@ (org-mode) (goto-char (point-min)) ;; the rendered Comments heading carries the marker - (should (re-search-forward "^\\*\\*\\* Comments 💬 5/8$" nil t)) + (should (re-search-forward "^\\*\\*\\* 💬 Comments 5/8$" nil t)) (goto-char (point-min)) (re-search-forward "issue") (pearl--append-comment-to-issue '(:id "cnew" :author "Z" :created-at "2026-06-01T00:00:00.000Z" :body "appended")) ;; exactly one Comments heading, and the new comment landed under it (goto-char (point-min)) - (should (re-search-forward "^\\*\\*\\* Comments" nil t)) - (should-not (re-search-forward "^\\*\\*\\* Comments" nil t)) + (should (re-search-forward "^\\*\\*\\* 💬 Comments" nil t)) + (should-not (re-search-forward "^\\*\\*\\* 💬 Comments" nil t)) (should (string-match-p "appended" (buffer-string))))))) (provide 'test-pearl-list-comments) -- cgit v1.2.3