summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Maus <dmaus@ictsoc.de>2011-09-25 09:49:39 +0200
committerDavid Maus <dmaus@ictsoc.de>2011-09-25 09:49:39 +0200
commitd5722a7b6c00525a94b503b72f4ae9d66bf8e9a0 (patch)
tree0f4fc03a0a49c1bfab0883832356178d456c4b75
parent07d11a68474b4f381ba7bcfcd376a01f5c90f8e1 (diff)
downloadorg-mode-d5722a7b6c00525a94b503b72f4ae9d66bf8e9a0.tar.gz
Use macro to compose html link export tests
* lisp/test-org-html.el (org-test-html/export-link): New macro. Compose link export test. (test-org-html/export-link-factory) (test-org-html/export-link-alist): Remove factory variable and function, use new macro instead.
-rw-r--r--testing/lisp/test-org-html.el47
1 files changed, 12 insertions, 35 deletions
diff --git a/testing/lisp/test-org-html.el b/testing/lisp/test-org-html.el
index 85a8d53..c2cc067 100644
--- a/testing/lisp/test-org-html.el
+++ b/testing/lisp/test-org-html.el
@@ -22,42 +22,19 @@
;;; 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)
+(defmacro org-test-html/export-link (name link expected &optional desc opt-plist)
+ `(ert-deftest ,(intern (concat "test-org-html/export-link/" name)) ()
+ ,(or desc name)
+ (should
+ (string=
+ (org-test-strip-text-props
+ (org-html-handle-links ,link ,opt-plist))
+ ,expected))))
+
+(org-test-html/export-link "mailto" "[[mailto:john@example.tld]]"
+ "<a href=\"mailto:john@example.tld\">mailto:john@example.tld</a>"
+ "mailto: link without description")
(provide 'test-org-html)