Added a test files and ammended the Makefile to add a tests target
This commit is contained in:
7
Makefile
7
Makefile
@@ -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
1
tests/build-tests.el
Normal file
@@ -0,0 +1 @@
|
||||
(require 'ert)
|
||||
0
tests/build-tests.el~
Normal file
0
tests/build-tests.el~
Normal file
59
tests/macros-tests.el
Normal file
59
tests/macros-tests.el
Normal 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
0
tests/macros-tests.el~
Normal file
Reference in New Issue
Block a user