1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-29 19:30:36 +02:00
guile/test-suite/tests/texinfo.plain-text.test
Ludovic Courtès ff14b77ff5 texinfo: Properly render @acronym in plain text.
Fixes <https://bugs.gnu.org/37846>.
Reported by Christopher Baines <mail@cbaines.net>.

* module/texinfo/plain-text.scm (acronym): New procedure.
(tag-handlers): Change 'acro' handle to ACRONYM, and add 'acronym'
handler.
* test-suite/tests/texinfo.plain-text.test ("stexi->plain-text")
["acronym", "recursive acronym"]: New tests.
2020-01-29 15:19:37 +01:00

52 lines
2.1 KiB
Scheme

;;;; texinfo.plain-text.test -*- scheme -*-
;;;;
;;;; Copyright (C) 2020 Free Software Foundation, Inc.
;;;;
;;;; 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 library; if not, write to the Free Software
;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
;;;; 02110-1301 USA
(define-module (test-suite test-plain-text)
#:use-module (test-suite lib)
#:use-module (texinfo plain-text))
(with-test-prefix "stexi->plain-text"
(pass-if-equal "one paragraph, default line width"
"This is another sentence. That too.\n\n"
(stexi->plain-text
'(*fragment* (para "This is another sentence. That too."))))
(pass-if-equal "one paragraph, *line-width* set"
"This is another sentence.\nThat too.\n\n"
(with-fluids ((*line-width* 26))
(stexi->plain-text
'(*fragment* (para "This is another sentence. That too.")))))
(pass-if-equal "acronym"
"What's GNU (GNU's Not Unix)?\n\n"
(stexi->plain-text
'(*fragment* (para "What's "
(acronym (% (acronym "GNU")
(meaning "GNU's Not Unix")))
"?"))))
(pass-if-equal "recursive acronym"
"What's GNU (GNU's Not Unix)?\n\n"
(stexi->plain-text
'(*fragment* (para "What's "
(acronym (% (acronym "GNU")
(meaning (acronym
(% (acronym "GNU")))
"'s Not Unix")))
"?")))))