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
|
# Default target: full build with search index
|
||||||
all:
|
all:
|
||||||
@@ -15,10 +15,15 @@ clean:
|
|||||||
@echo "Cleaning output directory..."
|
@echo "Cleaning output directory..."
|
||||||
rm -rf output/
|
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
|
# Show help message
|
||||||
help:
|
help:
|
||||||
@echo "Available targets:"
|
@echo "Available targets:"
|
||||||
@echo " make - Full rebuild (with search index)"
|
@echo " make - Full rebuild (with search index)"
|
||||||
@echo " make fast - Fast rebuild (without search index)"
|
@echo " make fast - Fast rebuild (without search index)"
|
||||||
@echo " make clean - Remove output directory"
|
@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"
|
@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