65 lines
1.8 KiB
EmacsLisp
65 lines
1.8 KiB
EmacsLisp
;;; test-org-html.el
|
||
|
||
;; Copyright (c) ߛ David Maus
|
||
;; Authors: David Maus
|
||
|
||
;; Released under the GNU General Public License version 3
|
||
;; see: http://www.gnu.org/licenses/gpl-3.0.html
|
||
|
||
;;;; Comments:
|
||
|
||
;; Template test file for Org-mode tests
|
||
|
||
|
||
;;; Code:
|
||
(let ((load-path (cons (expand-file-name
|
||
".." (file-name-directory
|
||
(or load-file-name buffer-file-name)))
|
||
load-path)))
|
||
(require 'org-test)
|
||
(require 'org-test-ob-consts))
|
||
|
||
|
||
;;; Tests
|
||
(require 'org-html)
|
||
(defvar test-org-html/export-link-alist
|
||
'((:description "mailto: link"
|
||
:link "[[mailto:john@example.tld]]"
|
||
:expected "<a href=\"mailto:john@example.tld\">mailto:john@example.tld</a>"
|
||
:opt-plist nil))
|
||
"List of link definitions to test exporting for.
|
||
Each cell is a property list that defines a link export test
|
||
using the properties as follows:
|
||
|
||
:description A string with a short description of the test. This
|
||
is used as the doc-string of the created test.
|
||
|
||
:link A string with the normalized Org mode link to test.
|
||
|
||
:expected A string with the expected HTML markup.
|
||
|
||
:opt-plist A property list with exporting options.")
|
||
|
||
(defun test-org-html/export-link-factory ()
|
||
"*Create tests for links defined in
|
||
`test-org-html/export-link-alist'."
|
||
(let ((count 0))
|
||
(mapc
|
||
(lambda (link)
|
||
(eval
|
||
`(ert-deftest ,(intern (format "test-org-html/export-link/%d" count)) ()
|
||
,(plist-get link :description)
|
||
(should
|
||
(string=
|
||
,(plist-get link :expected)
|
||
(org-test-strip-text-props
|
||
(org-html-handle-links ,(plist-get link :link) ,(plist-get link :opt-plist)))))))
|
||
(setq count (1+ count))) test-org-html/export-link-alist)))
|
||
|
||
;; Create tests for link export
|
||
(test-org-html/export-link-factory)
|
||
|
||
(provide 'test-org-html)
|
||
|
||
;;; test-org-html.el ends here
|