diff --git a/modules/org/org/test/autoload-org.el b/modules/org/org/test/autoload-org.el new file mode 100644 index 000000000..d9ac443d0 --- /dev/null +++ b/modules/org/org/test/autoload-org.el @@ -0,0 +1,42 @@ +;; -*- no-byte-compile: t; -*- +;;; org/org/test/autoload-org.el + +(defmacro should-org-buffer! (source expected &rest body) + `(should-buffer! ,source ,expected + (org-mode) + ,@body)) + + +;; `+org/insert-item' +(def-test! insert-item-h1 + "Should append/prepend new first-level headers with an extra newline." + (should-org-buffer! ("* {0}Header") ("* Header\n\n* {|}") + (+org/insert-item 'below)) + (should-org-buffer! ("* {0}Header") ("* {|}\n\n* Header") + (+org/insert-item 'above))) + +(def-test! insert-item-h2 + "Should append/prepend new second-level (and higher) headers without an extra +newline." + (should-org-buffer! ("** {0}Header") ("** Header\n** {|}") + (+org/insert-item 'below)) + (should-org-buffer! ("** {0}Header") ("** {|}\n** Header") + (+org/insert-item 'above))) + +(def-test! insert-item-plain-list + "Should append/prepend new second-level (and higher) headers without an extra +newline." + (should-org-buffer! ("+ {0}List item") ("+ List item\n+ {|}") + (+org/insert-item 'below)) + (should-org-buffer! ("+ {0}List item" + " + Sub item") + ("+ List item" + " + Sub item" + "+ {|}") + (+org/insert-item 'below)) + (should-org-buffer! ("+ {0}List item" + "+ Next item") + ("+ List item" + "+ {|}" + "+ Next item") + (+org/insert-item 'below))) diff --git a/modules/org/org/test/org.el b/modules/org/org/test/org.el new file mode 100644 index 000000000..d91044ff9 --- /dev/null +++ b/modules/org/org/test/org.el @@ -0,0 +1,5 @@ +;;; org/org/test/org.el -*- lexical-binding: t; -*- + +(when (featurep 'org) (unload-feature 'org t)) +(require! :org org) +(require 'org (locate-library "org" nil doom--package-load-path))