diff options
author | David Maus <dmaus@ictsoc.de> | 2011-02-01 06:47:20 +0100 |
---|---|---|
committer | David Maus <dmaus@ictsoc.de> | 2011-02-01 06:47:20 +0100 |
commit | ada3ff175f830edb83fc30a66da5e3fdd3bcb4bc (patch) | |
tree | 9186aba0ba6d80270f85da1dc2f24b23370748c9 | |
parent | 415d4fbf3840a1d997c54ef634b1c127f5fe521c (diff) | |
download | org-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.el | 64 |
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 |