diff options
-rw-r--r-- | doc/ref/misc-modules.texi | 4 | ||||
-rw-r--r-- | test-suite/Makefile.am | 3 | ||||
-rw-r--r-- | test-suite/tests/print.test | 46 |
3 files changed, 50 insertions, 3 deletions
diff --git a/doc/ref/misc-modules.texi b/doc/ref/misc-modules.texi index a6bb6c3cb..3a361b6f6 100644 --- a/doc/ref/misc-modules.texi +++ b/doc/ref/misc-modules.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Guile Reference Manual. -@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2006, 2009 +@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2006, 2009, 2010 @c Free Software Foundation, Inc. @c See the file guile.texi for copying conditions. @@ -77,7 +77,7 @@ line in which to do so. @print{} (a b #(c ...) . #) (truncated-print exp #:width 20) (newline) @print{} (a b #(c d e) f . g) -(truncated-print "The quick brown fox" #:width 10) (newline) +(truncated-print "The quick brown fox" #:width 20) (newline) @print{} "The quick brown..." (truncated-print (current-module) #:width 20) (newline) @print{} #<directory (gui...> diff --git a/test-suite/Makefile.am b/test-suite/Makefile.am index ddbfc6962..f29b1ca90 100644 --- a/test-suite/Makefile.am +++ b/test-suite/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to produce Makefile.in. ## -## Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Software Foundation, Inc. +## Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Software Foundation, Inc. ## ## This file is part of GUILE. ## @@ -58,6 +58,7 @@ SCM_TESTS = tests/alist.test \ tests/numbers.test \ tests/optargs.test \ tests/options.test \ + tests/print.test \ tests/procprop.test \ tests/poe.test \ tests/popen.test \ diff --git a/test-suite/tests/print.test b/test-suite/tests/print.test new file mode 100644 index 000000000..730de0da5 --- /dev/null +++ b/test-suite/tests/print.test @@ -0,0 +1,46 @@ +;;;; -*- 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 + +(define-module (test-suite test-print) + #:use-module (ice-9 pretty-print) + #:use-module (test-suite lib)) + +(with-test-prefix "truncated-print" + (define exp '(a b #(c d e) f . g)) + (define (tprint x width) + (with-output-to-string + (lambda () + (truncated-print x #:width width)))) + + (pass-if (equal? (tprint exp 10) + "(a b . #)")) + + (pass-if (equal? (tprint exp 15) + "(a b # f . g)")) + + (pass-if (equal? (tprint exp 18) + "(a b #(c ...) . #)")) + + (pass-if (equal? (tprint exp 20) + "(a b #(c d e) f . g)")) + + (pass-if (equal? (tprint "The quick brown fox" 20) + "\"The quick brown...\"")) + + (pass-if (equal? (tprint (current-module) 20) + "#<directory (tes...>"))) |