aboutsummaryrefslogtreecommitdiff
path: root/tests/test-pearl-output.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-27 15:21:45 -0500
committerCraig Jennings <c@cjennings.net>2026-05-27 15:21:45 -0500
commita2a155c785cdf43c971b88db174c33ac1e867da3 (patch)
treeeb37a4fe1c4f0146a5791bc0c6948e1e5129231f /tests/test-pearl-output.el
parentcfc42c41426d61f53c49b1f192751bcd061e57ae (diff)
downloadpearl-a2a155c785cdf43c971b88db174c33ac1e867da3.tar.gz
pearl-a2a155c785cdf43c971b88db174c33ac1e867da3.zip
feat(render): render issue titles and the view name verbatim
The buffer should mirror Linear: a value on the page appears exactly as Linear stores it, so the heading title matches what you'd see opening the issue in Linear itself. I flipped pearl-title-case-headings to default nil so titles render verbatim. I also stopped running the view name in the #+title through the title-caser, which was coupled to the same flag. The smart-title-case path stays as opt-in tidying for anyone who wants it. Two transformations remain, both forced by Org's syntax rather than chosen: state names become TODO keywords (Org keywords can't contain spaces, so the real name stays in the LINEAR-STATE-NAME drawer), and descriptions and comments convert between Markdown and Org. Documented under "Fidelity to Linear" in the README.
Diffstat (limited to 'tests/test-pearl-output.el')
-rw-r--r--tests/test-pearl-output.el7
1 files changed, 4 insertions, 3 deletions
diff --git a/tests/test-pearl-output.el b/tests/test-pearl-output.el
index 58cd446..a838bfb 100644
--- a/tests/test-pearl-output.el
+++ b/tests/test-pearl-output.el
@@ -68,12 +68,13 @@
(should (string-match-p "^#\\+title:" out))
(should-not (string-match-p "^\\*\\*\\* " out))))
-(ert-deftest test-pearl-build-org-content-title-cases-view-name ()
- "The view name in the file title is title-cased when title-casing is on, raw when off."
+(ert-deftest test-pearl-build-org-content-title-uses-view-name-verbatim ()
+ "The view name in the file title matches Linear's capitalization verbatim,
+independent of `pearl-title-case-headings' (which governs issue headings only)."
(let ((case-fold-search nil) ; strict so casing actually matters
(source '(:type filter :name "my open bugs" :filter nil)))
(let ((pearl-title-case-headings t))
- (should (string-match-p "^#\\+title: Linear — My Open Bugs$"
+ (should (string-match-p "^#\\+title: Linear — my open bugs$"
(pearl--build-org-content '() source))))
(let ((pearl-title-case-headings nil))
(should (string-match-p "^#\\+title: Linear — my open bugs$"