123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 |
- ;;; test-ox-texinfo.el --- Tests for ox-texinfo.el
- ;; Copyright (C) 2022 Rudolf Adamkovič
- ;; Author: Rudolf Adamkovič <salutis@me.com>
- ;; This file is not part of GNU Emacs.
- ;; 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 <https://www.gnu.org/licenses/>.
- ;;; Code:
- (require 'cl-lib)
- (require 'ox-texinfo)
- (unless (featurep 'ox-texinfo)
- (signal 'missing-test-dependency "org-export-texinfo"))
- ;;; TeX fragments
- (ert-deftest test-ox-texinfo/tex-fragment-inline ()
- "Test inline TeX fragment."
- (should
- (equal "@math{a^2 = b}"
- (let ((org-texinfo-with-latex t))
- (org-texinfo-latex-fragment
- (org-element-create 'latex-fragment
- '(:value "$a^2 = b$"))
- nil
- '(:with-latex t))))))
- (ert-deftest test-ox-texinfo/tex-fragment-inline-padded ()
- "Test inline TeX fragment padded with whitespace."
- (should
- (equal "@math{a^2 = b}"
- (let ((org-texinfo-with-latex t))
- (org-texinfo-latex-fragment
- (org-element-create 'latex-fragment
- '(:value "$ a^2 = b $"))
- nil
- '(:with-latex t))))))
- (ert-deftest test-ox-texinfo/tex-fragment-displayed ()
- "Test displayed TeX fragment."
- (should
- (equal (string-join
- (list ""
- "@displaymath"
- "a ^ 2 = b"
- "@end displaymath"
- "")
- "\n")
- (let ((org-texinfo-with-latex t))
- (org-texinfo-latex-fragment
- (org-element-create 'latex-fragment
- (list :value "$$a ^ 2 = b$$"))
- nil
- '(:with-latex t))))))
- (ert-deftest test-ox-texinfo/tex-fragment-displayed-padded ()
- "Test displayed TeX fragment padded with whitespace."
- (should
- (equal (string-join
- (list ""
- "@displaymath"
- "a ^ 2 = b"
- "@end displaymath"
- "")
- "\n")
- (let ((org-texinfo-with-latex t))
- (org-texinfo-latex-fragment
- (org-element-create 'latex-fragment
- (list :value "$$ a ^ 2 = b $$"))
- nil
- '(:with-latex t))))))
- (ert-deftest test-ox-texinfo/tex-fragment-displayed-multi-line ()
- "Test displayed TeX fragment with multiple lines."
- (should
- (equal (string-join
- (list ""
- "@displaymath"
- "a ^ 2 = b"
- "b ^ 2 = c"
- "@end displaymath"
- "")
- "\n")
- (let ((org-texinfo-with-latex t))
- (org-texinfo-latex-fragment
- (org-element-create 'latex-fragment
- (list :value
- (string-join
- (list "$$"
- "a ^ 2 = b"
- "b ^ 2 = c"
- "$$")
- "\n")))
- nil
- '(:with-latex t))))))
- (ert-deftest test-ox-texinfo/tex-fragment-displayed-indented ()
- "Test displayed TeX fragment with indentation."
- (should
- (equal (string-join
- (list ""
- "@displaymath"
- "a ^ 2 = b"
- "b ^ 2 = c"
- "@end displaymath"
- "")
- "\n")
- (let ((org-texinfo-with-latex t))
- (org-texinfo-latex-fragment
- (org-element-create 'latex-fragment
- (list :value
- (string-join
- (list " $$"
- " a ^ 2 = b"
- " b ^ 2 = c"
- " $$")
- "\n")))
- nil
- '(:with-latex t))))))
- ;;; LaTeX fragments
- (ert-deftest test-ox-texinfo/latex-fragment-inline ()
- "Test inline LaTeX fragment."
- (should
- (equal "@math{a^2 = b}"
- (let ((org-texinfo-with-latex t))
- (org-texinfo-latex-fragment
- (org-element-create 'latex-fragment
- '(:value "\\(a^2 = b\\)"))
- nil
- '(:with-latex t))))))
- (ert-deftest test-ox-texinfo/latex-fragment-inline-padded ()
- "Test inline LaTeX fragment padded with whitespace."
- (should
- (equal "@math{a^2 = b}"
- (let ((org-texinfo-with-latex t))
- (org-texinfo-latex-fragment
- (org-element-create 'latex-fragment
- '(:value "\\( a^2 = b \\)"))
- nil
- '(:with-latex t))))))
- (ert-deftest test-ox-texinfo/latex-fragment-displayed ()
- "Test displayed LaTeX fragment."
- (should
- (equal (string-join
- (list ""
- "@displaymath"
- "a ^ 2 = b"
- "@end displaymath"
- "")
- "\n")
- (let ((org-texinfo-with-latex t))
- (org-texinfo-latex-fragment
- (org-element-create 'latex-fragment
- (list :value "\\[a ^ 2 = b\\]"))
- nil
- '(:with-latex t))))))
- (ert-deftest test-ox-texinfo/latex-fragment-displayed-padded ()
- "Test displayed LaTeX fragment with multiple lines."
- (should
- (equal (string-join
- (list ""
- "@displaymath"
- "a ^ 2 = b"
- "@end displaymath"
- "")
- "\n")
- (let ((org-texinfo-with-latex t))
- (org-texinfo-latex-fragment
- (org-element-create 'latex-fragment
- (list :value "\\[ a ^ 2 = b \\]"))
- nil
- '(:with-latex t))))))
- (ert-deftest test-ox-texinfo/latex-fragment-displayed-multi-line ()
- "Test displayed LaTeX fragment with multiple lines."
- (should
- (equal (string-join
- (list ""
- "@displaymath"
- "a ^ 2 = b"
- "b ^ 2 = c"
- "@end displaymath"
- "")
- "\n")
- (let ((org-texinfo-with-latex t))
- (org-texinfo-latex-fragment
- (org-element-create 'latex-fragment
- (list :value
- (string-join
- (list "\\["
- "a ^ 2 = b"
- "b ^ 2 = c"
- "\\]")
- "\n")))
- nil
- '(:with-latex t))))))
- (ert-deftest test-ox-texinfo/latex-fragment-displayed-indented ()
- "Test displayed LaTeX fragment with indentation."
- (should
- (equal (string-join
- (list ""
- "@displaymath"
- "a ^ 2 = b"
- "b ^ 2 = c"
- "@end displaymath"
- "")
- "\n")
- (let ((org-texinfo-with-latex t))
- (org-texinfo-latex-fragment
- (org-element-create 'latex-fragment
- (list :value
- (string-join
- (list " \\["
- " a ^ 2 = b"
- " b ^ 2 = c"
- " \\]")
- "\n")))
- nil
- '(:with-latex t))))))
- ;;; LaTeX environments
- (ert-deftest test-ox-texinfo/latex-environment ()
- "Test LaTeX environment."
- (should
- (equal (string-join
- (list "@displaymath"
- "\\begin{equation}"
- "a ^ 2 = b"
- "b ^ 2 = c"
- "\\end{equation}"
- "@end displaymath")
- "\n")
- (let ((org-texinfo-with-latex t))
- (org-texinfo-latex-environment
- (org-element-create 'latex-environment
- (list :value
- (string-join
- (list "\\begin{equation}"
- "a ^ 2 = b"
- "b ^ 2 = c"
- "\\end{equation}")
- "\n")))
- nil
- '(:with-latex t))))))
- (ert-deftest test-ox-texinfo/latex-environment-indented ()
- "Test LaTeX environment with indentation."
- (should
- (equal (string-join
- (list "@displaymath"
- "\\begin{equation}"
- "a ^ 2 = b"
- "b ^ 2 = c"
- "\\end{equation}"
- "@end displaymath")
- "\n")
- (let ((org-texinfo-with-latex t))
- (org-texinfo-latex-environment
- (org-element-create 'latex-environment
- (list :value
- (string-join
- (list " \\begin{equation}"
- " a ^ 2 = b"
- " b ^ 2 = c"
- " \\end{equation}")
- "\n")))
- nil
- '(:with-latex t))))))
- (provide 'test-ox-texinfo)
- ;;; test-ox-texinfo.el end here
|