diff options
author | Dirk Herrmann <dirk@dirk-herrmanns-seiten.de> | 2001-04-02 13:40:03 +0000 |
---|---|---|
committer | Dirk Herrmann <dirk@dirk-herrmanns-seiten.de> | 2001-04-02 13:40:03 +0000 |
commit | f5e645584aa767be59cd22bf2152e8c9f1d63e59 (patch) | |
tree | 195263701f4a47286e8cbc21ad067d94c2322ef7 | |
parent | 9a6976cd27118ae22a5514346437202668318c60 (diff) | |
download | guile-f5e645584aa767be59cd22bf2152e8c9f1d63e59.tar.gz |
* Added some tests.
-rw-r--r-- | test-suite/ChangeLog | 4 | ||||
-rw-r--r-- | test-suite/tests/symbols.test | 52 |
2 files changed, 56 insertions, 0 deletions
diff --git a/test-suite/ChangeLog b/test-suite/ChangeLog index c48e67f4d..57bfa51a4 100644 --- a/test-suite/ChangeLog +++ b/test-suite/ChangeLog @@ -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, diff --git a/test-suite/tests/symbols.test b/test-suite/tests/symbols.test index 8483aa689..3524b492b 100644 --- a/test-suite/tests/symbols.test +++ b/test-suite/tests/symbols.test @@ -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))) |