mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 11:50:28 +02:00
* test-suite/tests/sxml.fold.test: * test-suite/tests/sxml.ssax.test: * test-suite/tests/sxml.transform.test: * test-suite/tests/sxml.xpath.test: * test-suite/tests/texinfo.docbook.test: * test-suite/tests/texinfo.serialize.test: * test-suite/tests/texinfo.string-utils.test: * test-suite/tests/texinfo.test: Update licenses to GPL or LGPL 3+, and update copyright holders to be FSF (where that is the case). Copyright holders who are not FSF have their code in GPL/LGPL-compatible licesnse.
185 lines
4.8 KiB
Scheme
185 lines
4.8 KiB
Scheme
;;;; texinfo.serialize.test -*- scheme -*-
|
|
;;;;
|
|
;;;; Copyright (C) 2010 Free Software Foundation, Inc.
|
|
;;;;
|
|
;;;; This library is free software; you can redistribute it and/or
|
|
;;;; modify it under the terms of the GNU Lesser General Public
|
|
;;;; License as published by the Free Software Foundation; either
|
|
;;;; version 3 of the License, or (at your option) any later version.
|
|
;;;;
|
|
;;;; This library 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
|
|
;;;; Lesser General Public License for more details.
|
|
;;;;
|
|
;;;; You should have received a copy of the GNU Lesser 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
|
|
|
|
;;; Commentary:
|
|
;;
|
|
;; Unit tests for (texinfo serialize).
|
|
;;
|
|
;;; Code:
|
|
|
|
(define-module (test-suite texinfo-serialize)
|
|
#:use-module (test-suite lib)
|
|
#:use-module (texinfo serialize))
|
|
|
|
(with-test-prefix "test-serialize"
|
|
(define (assert-serialize stexi str)
|
|
(pass-if str (equal? str (stexi->texi stexi))))
|
|
|
|
(assert-serialize '(para)
|
|
"
|
|
|
|
")
|
|
|
|
(assert-serialize '(para "foo")
|
|
"foo
|
|
|
|
")
|
|
|
|
(assert-serialize '(var "foo")
|
|
"@var{foo}")
|
|
|
|
|
|
;; i don't remember why braces exists, but as long as it does, a test
|
|
;; is in order
|
|
(assert-serialize '(*braces* "foo")
|
|
"@{foo@}")
|
|
|
|
(assert-serialize '(value (% (key "foo")))
|
|
"@value{foo}")
|
|
|
|
(assert-serialize '(ref (% (node "foo")))
|
|
"@ref{foo}")
|
|
(assert-serialize '(ref (% (node "foo") (name "bar")))
|
|
"@ref{foo,bar}")
|
|
(assert-serialize '(ref (% (node "foo") (name "bar")
|
|
(section "qux") (info-file "xyzzy")
|
|
(manual "zarg")))
|
|
"@ref{foo,bar,qux,xyzzy,zarg}")
|
|
(assert-serialize '(ref (% (section "qux") (info-file "xyzzy")
|
|
(node "foo") (name "bar")
|
|
(manual "zarg")))
|
|
"@ref{foo,bar,qux,xyzzy,zarg}")
|
|
(assert-serialize '(ref (% (node "foo")
|
|
(manual "zarg")))
|
|
"@ref{foo,,,,zarg}")
|
|
|
|
(assert-serialize '(dots) "@dots{}")
|
|
|
|
(assert-serialize '(node (% (name "foo")))
|
|
"@node foo
|
|
")
|
|
|
|
(assert-serialize '(node (% (name "foo bar")))
|
|
"@node foo bar
|
|
")
|
|
(assert-serialize '(node (% (name "foo bar") (next "baz")))
|
|
"@node foo bar, baz
|
|
")
|
|
|
|
(assert-serialize '(title "Foo")
|
|
"@title Foo
|
|
")
|
|
(assert-serialize '(title "Foo is a " (var "bar"))
|
|
"@title Foo is a @var{bar}
|
|
")
|
|
|
|
(assert-serialize '(title "Foo is a " (var "bar") " baz")
|
|
"@title Foo is a @var{bar} baz
|
|
")
|
|
|
|
(assert-serialize '(cindex (% (entry "Bar baz, foo")))
|
|
"@cindex Bar baz, foo
|
|
")
|
|
|
|
;; there is a space after @iftex, doesn't matter tho
|
|
(assert-serialize '(iftex
|
|
(para "This is only for tex.")
|
|
(para "Note. Foo."))
|
|
"@iftex
|
|
This is only for tex.
|
|
|
|
Note. Foo.
|
|
|
|
@end iftex
|
|
|
|
")
|
|
|
|
(assert-serialize '(defun (% (name "frob"))
|
|
(para "foo?"))
|
|
"@defun frob
|
|
foo?
|
|
|
|
@end defun
|
|
|
|
")
|
|
|
|
(assert-serialize '(defun (% (name "frob") (arguments "bar"))
|
|
(para "foo?"))
|
|
"@defun frob bar
|
|
foo?
|
|
|
|
@end defun
|
|
|
|
")
|
|
|
|
(assert-serialize '(defun (% (name "frob") (arguments "bar" " " "baz"))
|
|
(para "foo?"))
|
|
"@defun frob bar baz
|
|
foo?
|
|
|
|
@end defun
|
|
|
|
")
|
|
|
|
(assert-serialize '(defun (% (name "frob") (arguments (var "bar")))
|
|
(para "foo?"))
|
|
"@defun frob @var{bar}
|
|
foo?
|
|
|
|
@end defun
|
|
|
|
")
|
|
|
|
(assert-serialize '(defunx (% (name "frob") (arguments (var "bar"))))
|
|
"@defunx frob @var{bar}
|
|
")
|
|
|
|
(assert-serialize '(table (% (formatter (var)))
|
|
(entry (% (heading "Foo bar " (code "baz")))
|
|
(para "Frobate")
|
|
(para "zzzzz")))
|
|
"@table @var
|
|
@item Foo bar @code{baz}
|
|
Frobate
|
|
|
|
zzzzz
|
|
|
|
@end table
|
|
|
|
")
|
|
|
|
(assert-serialize '(verbatim "foo")
|
|
"@verbatim
|
|
foo
|
|
@end verbatim
|
|
|
|
")
|
|
|
|
(assert-serialize '(deffnx (% (name "foo") (category "bar")))
|
|
"@deffnx bar foo
|
|
")
|
|
|
|
(assert-serialize '(deffnx (% (name "foo") (category "bar") (arguments "x" " " "y")))
|
|
"@deffnx bar foo x y
|
|
")
|
|
|
|
(assert-serialize '(deffnx (% (name "foo") (category "bar") (arguments "(" "x" " " (code "int") ")")))
|
|
"@deffnx bar foo (x @code{int})
|
|
")
|
|
|
|
)
|