From ada3ff175f830edb83fc30a66da5e3fdd3bcb4bc Mon Sep 17 00:00:00 2001 From: David Maus Date: Tue, 1 Feb 2011 06:47:20 +0100 Subject: [PATCH] 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. --- testing/lisp/test-org-html.el | 64 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 testing/lisp/test-org-html.el diff --git a/testing/lisp/test-org-html.el b/testing/lisp/test-org-html.el new file mode 100644 index 000000000..85a8d536f --- /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 "mailto:john@example.tld" + :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 -- 2.11.4.GIT