diff --git a/lisp/ox-ascii.el b/lisp/ox-ascii.el index e323dcafa..110bb4601 100644 --- a/lisp/ox-ascii.el +++ b/lisp/ox-ascii.el @@ -1486,7 +1486,7 @@ contextual information." struct (org-list-prevs-alist struct) (org-list-parents-alist struct))))))) - (replace-regexp-in-string "[0-9]+" num bul))) + (replace-regexp-in-string "[0-9A-Za-z]+" num bul))) (_ (let ((bul (org-list-bullet-string (org-element-property :bullet item)))) ;; Change bullets into more visible form if UTF-8 is active. diff --git a/testing/lisp/test-ox-ascii.el b/testing/lisp/test-ox-ascii.el new file mode 100644 index 000000000..fe12c0c27 --- /dev/null +++ b/testing/lisp/test-ox-ascii.el @@ -0,0 +1,70 @@ +;;; test-ox-latex.el --- tests for ox-latex.el -*- lexical-binding: t; -*- + +;; Copyright (C) 2023 Ihor Radchenko + +;; Author: Ihor Radchenko + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; Tests checking validity of Org ASCII export output. + +;;; Code: + +(require 'ox-ascii nil t) +(unless (featurep 'ox-ascii) + (signal 'missing-test-dependency "org-export-ascii")) + + + +(ert-deftest test-ox-ascii/list () + "Test lists." + ;; Number counter. + (org-test-with-exported-text + 'ascii + "1. [@3] foo" + (goto-char (point-min)) + (should + (search-forward + "3. foo"))) + ;; Number counter. Start from 1. + (org-test-with-exported-text + 'ascii + "3. foo" + (goto-char (point-min)) + (should + (search-forward + "1. foo"))) + ;; Alphanumeric counter. + (let ((org-list-allow-alphabetical t)) + (org-test-with-exported-text + 'ascii + "m. [@k] baz" + (goto-char (point-min)) + (should + (search-forward + "11. baz")))) + ;; Start from 1. + (let ((org-list-allow-alphabetical t)) + (org-test-with-exported-text + 'ascii + "m. bar" + (goto-char (point-min)) + (should + (search-forward + "1. bar"))))) + +(provide 'test-ox-ascii) +;;; test-ox-ascii.el ends here diff --git a/testing/lisp/test-ox-latex.el b/testing/lisp/test-ox-latex.el index 79ef8793b..5c58cce68 100644 --- a/testing/lisp/test-ox-latex.el +++ b/testing/lisp/test-ox-latex.el @@ -27,18 +27,6 @@ (unless (featurep 'ox-latex) (signal 'missing-test-dependency "org-export-latex")) -(defmacro org-test-with-exported-text (backend source &rest body) - "Run BODY in export buffer for SOURCE string via BACKEND." - (declare (indent 2)) - `(org-test-with-temp-text ,source - (let ((export-buffer (generate-new-buffer "Org temporary export"))) - (unwind-protect - (progn - (org-export-to-buffer ,backend export-buffer) - (with-current-buffer export-buffer - ,@body)) - (kill-buffer export-buffer))))) - (ert-deftest test-ox-latex/verse () diff --git a/testing/org-test.el b/testing/org-test.el index 6030d3322..d9fe33284 100644 --- a/testing/org-test.el +++ b/testing/org-test.el @@ -590,6 +590,18 @@ When FULL is non-nil, return the full name like Monday, Tuesday, ..." ((or "Sat" "Saturday") 6) (_ (error "Unknown day of week: %s" day))))) +(defmacro org-test-with-exported-text (backend source &rest body) + "Run BODY in export buffer for SOURCE string via BACKEND." + (declare (indent 2)) + `(org-test-with-temp-text ,source + (let ((export-buffer (generate-new-buffer "Org temporary export"))) + (unwind-protect + (progn + (org-export-to-buffer ,backend export-buffer) + (with-current-buffer export-buffer + ,@body)) + (kill-buffer export-buffer))))) + (provide 'org-test) ;;; org-test.el ends here