branch: externals-release/org commit 02909fe3716fbf993ece66e74d473c8dd6a5a582 Author: Ihor Radchenko <yanta...@posteo.net> Commit: Ihor Radchenko <yanta...@posteo.net>
lisp/test-ox.el: Add tests for `org-export-get-ordinal' * testing/lisp/test-ox.el (test-org-export/get-ordinal): New test. --- testing/lisp/test-ox.el | 58 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/testing/lisp/test-ox.el b/testing/lisp/test-ox.el index 47f3f60750..cdb549df4b 100644 --- a/testing/lisp/test-ox.el +++ b/testing/lisp/test-ox.el @@ -405,6 +405,64 @@ Paragraph" (options (org-export-get-environment backend t))) (list (plist-get options :k1) (plist-get options :k2))))))) +(ert-deftest test-org-export/get-ordinal () + "Test specifications for `org-export-get-ordinal'." + ;; Table numbering with, without predicates, and with other types. + (org-test-with-temp-text + "#+title: Table numbering test +#+options: author:nil toc:nil + +#+caption: Should be Table 1 +| h1 | h2 | h3 | +|----------+----------+----------| +| abcdefgh | ijklmnop | qrstuvwx | + +#+caption: Should be Table 2 +| h1 | h2 | h3 | +|----------+----------+----------| +| abcdefgh | ijklmnop | qrstuvwx | + +#+caption: Should be Table 3 +| h1 | h2 | h3 | +|----------+----------+----------| +| abcdefgh | ijklmnop | qrstuvwx | + +#+caption: Should be Table 4 +| h1 | h2 | h3 | +|----------+----------+----------| +| abcdefgh | ijklmnop | qrstuvwx |" + (org-export-as + (org-export-create-backend + :parent 'org + :transcoders + '((table + . + (lambda (table contents info) + (let ((from-third (lambda (table info) + (<= 3 (org-export-get-ordinal table info))))) + (pcase (org-element-interpret-data (org-export-get-caption table)) + ("Should be Table 1" + (should (= 1 (org-export-get-ordinal table info))) + (should (= 2 (org-export-get-ordinal table info '(section)))) + (should (= 1 (org-export-get-ordinal table info nil #'org-ascii--has-caption-p))) + (should (= 1 (org-export-get-ordinal table info nil from-third)))) + ("Should be Table 2" + (should (= 2 (org-export-get-ordinal table info))) + (should (= 3 (org-export-get-ordinal table info '(section)))) + (should (= 2 (org-export-get-ordinal table info nil #'org-ascii--has-caption-p))) + (should (= 1 (org-export-get-ordinal table info nil from-third)))) + ("Should be Table 3" + (should (= 3 (org-export-get-ordinal table info))) + (should (= 4 (org-export-get-ordinal table info '(section)))) + (should (= 3 (org-export-get-ordinal table info nil #'org-ascii--has-caption-p))) + (should (= 1 (org-export-get-ordinal table info nil from-third)))) + ("Should be Table 4" + (should (= 4 (org-export-get-ordinal table info))) + (should (= 5 (org-export-get-ordinal table info '(section)))) + (should (= 4 (org-export-get-ordinal table info nil #'org-ascii--has-caption-p))) + (should (= 2 (org-export-get-ordinal table info nil from-third)))))) + ""))))))) + (ert-deftest test-org-export/set-title () "Test title setting." ;; Without TITLE keyword.