From d5722a7b6c00525a94b503b72f4ae9d66bf8e9a0 Mon Sep 17 00:00:00 2001 From: David Maus Date: Sun, 25 Sep 2011 09:49:39 +0200 Subject: [PATCH] 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. --- testing/lisp/test-org-html.el | 105 +++++++++++++++++------------------------- 1 file changed, 41 insertions(+), 64 deletions(-) rewrite testing/lisp/test-org-html.el (70%) diff --git a/testing/lisp/test-org-html.el b/testing/lisp/test-org-html.el dissimilarity index 70% index 85a8d536f..c2cc067f1 100644 --- a/testing/lisp/test-org-html.el +++ b/testing/lisp/test-org-html.el @@ -1,64 +1,41 @@ -;;; 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 +;;; 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) + +(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]]" + "mailto:john@example.tld" + "mailto: link without description") + +(provide 'test-org-html) + +;;; test-org-html.el ends here -- 2.11.4.GIT