# Testing my org-export customisations with ERT https://emacs.stackexchange.com/questions/50676/testing-emacs-lisp-code-involving-org-mode First, for sanity, get a basic test working. ```emacs-lisp (ert-deftest test-simple-sanity-check () (should (string= "yo" "yo"))) ``` Then a basic org-related test working. \#+beginsrc emacs-lisp ; https://emacs.stackexchange.com/questions/50676/testing-emacs-lisp-code-involving-org-mode (defun promote-next-heading () (org-next-visible-heading 1) (org-metaright)) (ert-deftest test-simple-org-sanity-check () (should (string= (with-temp-buffer (org-mode) (insert " ## test heading ") (goto-char (point-min)) (promote-next-heading) (buffer-string)) " ### test heading "))) \#+endsrc Next up is to test `org-export-to-buffer`. I'll start with the ascii backend. ```emacs-lisp (ert-deftest test-simple-export-to-buffer () (should (string= (with-temp-buffer (org-mode) (insert "#+TITLE: Title\n") (insert "* Test heading") (setq org-export-with-author nil) ; Turn off author name (setq org-export-with-toc nil) ; Turn off table of contents (org-export-to-buffer 'ascii (current-buffer)) (buffer-string)) " _______\n\n TITLE\n _______\n\n\n1 Test heading\n==============\n" ))) ``` Hmm. I think it'll be better to test against an expected file output though. The official org tests should be a good reference https://git.savannah.gnu.org/cgit/emacs/org-mode.git/tree/testing/lisp