summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Maus <dmaus@ictsoc.de>2011-02-01 06:47:20 +0100
committerDavid Maus <dmaus@ictsoc.de>2011-02-01 06:47:20 +0100
commitada3ff175f830edb83fc30a66da5e3fdd3bcb4bc (patch)
tree9186aba0ba6d80270f85da1dc2f24b23370748c9
parent415d4fbf3840a1d997c54ef634b1c127f5fe521c (diff)
downloadorg-mode-ada3ff175f830edb83fc30a66da5e3fdd3bcb4bc.tar.gz
Define factory function to create pre-defined link export tests
* lisp/test-org-html.el (test-org-html/export-link-alist): New variable. Abstract link export test definition. (test-org-html/export-link-factory): New function. Create tests for link export.
-rw-r--r--testing/lisp/test-org-html.el64
1 files changed, 64 insertions, 0 deletions
diff --git a/testing/lisp/test-org-html.el b/testing/lisp/test-org-html.el
new file mode 100644
index 0000000..85a8d53
--- /dev/null
+++ b/testing/lisp/test-org-html.el
@@ -0,0 +1,64 @@
+;;; 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