#! /bin/sh exec ${MES-bin/mes} --no-auto-compile -L ${0%/*} -L module -C module -e '(tests display)' -s "$0" "$@" !# ;;; -*-scheme-*- ;;; GNU Mes --- Maxwell Equations of Software ;;; Copyright © 2016,2018 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Mes. ;;; ;;; GNU Mes 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. ;;; ;;; GNU Mes 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 GNU Mes. If not, see . (define-module (tests display) #:use-module (mes mes-0) #:use-module (mes test)) (mes-use-module (mes display)) (mes-use-module (mes guile)) (mes-use-module (mes test)) (pass-if "first dummy" #t) (pass-if-not "second dummy" #f) (pass-if-equal "display" "0" (with-output-to-string (lambda () (display 0)))) (pass-if-equal "display" "A" (with-output-to-string (lambda () (display #\A)))) (pass-if-equal "write" "#\\A" (with-output-to-string (lambda () (write #\A)))) (if (or mes? guile-2?) (pass-if-equal "write alarm" "#\\alarm" (with-output-to-string (lambda () (write #\alarm))))) (pass-if-equal "write string" "\"BOO\\n\"" (with-output-to-string (lambda () (write "BOO\n")))) (pass-if-equal "display string" "BOO\n" (with-output-to-string (lambda () (display "BOO\n")))) (pass-if-equal "display symbol" "Bah" (with-output-to-string (lambda () (display 'Bah)))) (pass-if-equal "display number" "486" (with-output-to-string (lambda () (display 486)))) (if (or mes? guile-1.8?) (pass-if-equal "display closure" "#" (with-output-to-string (lambda () (display (lambda (a b c) #t)))))) (if (or mes? guile-2?) (pass-if-equal "display builtin thunk" "#" (with-output-to-string (lambda () (display gc))))) (if (or mes? guile-2?) (pass-if-equal "display builtin procedure" "#" (with-output-to-string (lambda () (display acons))))) (pass-if-equal "s-exp" "(lambda (a b . c) #t)" (with-output-to-string (lambda () (display '(lambda (a b . c) #t))))) (if mes? (pass-if-equal "vector nest" "#(0 #(...) 2 3)" (with-output-to-string (lambda () (display #(0 #(1) 2 3)))))) (result 'report)