1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-10 14:00:21 +02:00

* Added some tests.

This commit is contained in:
Dirk Herrmann 2001-04-02 13:40:03 +00:00
parent 9a6976cd27
commit f5e645584a
2 changed files with 56 additions and 0 deletions

View file

@ -1,3 +1,7 @@
2001-04-02 Dirk Herrmann <D.Herrmann@tu-bs.de>
* tests/symbols.c: Added some tests.
2001-03-19 Gary Houston <ghouston@arglist.com>
* tests/r4rs.test: use test-file-name to locate r4rs.test,

View file

@ -17,15 +17,67 @@
;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
;;;; Boston, MA 02111-1307 USA
(use-modules (ice-9 documentation))
;;;
;;; miscellaneous
;;;
;; FIXME: As soon as guile supports immutable strings, this has to be
;; replaced with the appropriate error type and message.
(define exception:immutable-string
(cons 'some-error-type "^trying to modify an immutable string"))
(define (documented? object)
(not (not (object-documentation object))))
;;;
;;; symbol?
;;;
(with-test-prefix "symbol?"
(pass-if "documented?"
(documented? symbol?))
(pass-if "string"
(not (symbol? "foo")))
(pass-if "symbol"
(symbol? 'foo)))
;;;
;;; symbol->string
;;;
(with-test-prefix "symbol->string"
(expect-fail-exception "result is an immutable string"
exception:immutable-string
(string-set! (symbol->string 'abc) 1 #\space)))
;;;
;;; gensym
;;;
(with-test-prefix "gensym"
(pass-if "documented?"
(documented? gensym))
(pass-if "produces a symbol"
(symbol? (gensym)))
(pass-if "produces a fresh symbol"
(not (eq? (gensym) (gensym))))
(pass-if "accepts a string prefix"
(symbol? (gensym "foo")))
(pass-if-exception "does not accept a symbol prefix"
exception:wrong-type-arg
(gensym 'foo)))