Added a test files and ammended the Makefile to add a tests target

This commit is contained in:
2025-12-29 19:58:27 +00:00
parent 80101cd34b
commit 6e13e90e7d
5 changed files with 66 additions and 1 deletions

View File

@@ -1,4 +1,4 @@
.PHONY: all fast clean help
.PHONY: all fast clean tests help
# Default target: full build with search index
all:
@@ -15,10 +15,15 @@ clean:
@echo "Cleaning output directory..."
rm -rf output/
tests:
@echo "Running all the tests..."
emacs -batch -l ert -l tests/macros-tests.el -f ert-run-tests-batch-and-exit
# Show help message
help:
@echo "Available targets:"
@echo " make - Full rebuild (with search index)"
@echo " make fast - Fast rebuild (without search index)"
@echo " make clean - Remove output directory"
@echo " make tests - Run all of the tests associated with the project"
@echo " make help - Show this help message"

1
tests/build-tests.el Normal file
View File

@@ -0,0 +1 @@
(require 'ert)

0
tests/build-tests.el~ Normal file
View File

59
tests/macros-tests.el Normal file
View File

@@ -0,0 +1,59 @@
(require 'ert)
(require 'ox-html)
(load-file "~/master-folder/org_files/org_roam/macros.el")
(defun helper/org-export-html (org-content)
"Export ORG-CONTENT string to HTML and return the result."
(with-temp-buffer
(insert org-content)
(org-mode)
(org-export-as 'html nil nil t)))
(ert-deftest test/org-macro-sidenote ()
(let ((html (helper/org-export-html
"Here is a sidenote {{{sidenote(This is a note)}}}."))
(expected "<span class=\"sidenote\">This is a note</span>")
)
(should
(string-match-p expected html))))
(ert-deftest test/org-macro-epigraph-single ()
(let ((html (helper/org-export-html
"{{{epigraph_single(To be is to do.,Socrates)}}}")))
(should
(string-match-p
"<blockquote class=\"epigraph\">"
html))
(should
(string-match-p
"<p>To be is to do\\.</p>"
html))
(should
(string-match-p
"<footer>Socrates</footer>"
html))))
(ert-deftest test/org-macro-epigraph-multiline ()
(let ((html (helper/org-export-html
"{{{epigraph(<p>Line one.</p><p>Line two.</p>)}}}")))
(should
(string-match-p
"<blockquote class=\"epigraph\">"
html))
(should
(string-match-p
"Line one\\."
html))
(should
(string-match-p
"Line two\\."
html))))
(ert-deftest test/org-macro-newthought ()
(let ((html (helper/org-export-html
"{{{newthought(Attention)}}} is important.")))
(should
(string-match-p
"<span class=\"newthought\">Attention</span>"
html))))

0
tests/macros-tests.el~ Normal file
View File