;;;; 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")))
                        "?")))))
