summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2001-04-02 13:40:03 +0000
committerDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2001-04-02 13:40:03 +0000
commitf5e645584aa767be59cd22bf2152e8c9f1d63e59 (patch)
tree195263701f4a47286e8cbc21ad067d94c2322ef7
parent9a6976cd27118ae22a5514346437202668318c60 (diff)
downloadguile-f5e645584aa767be59cd22bf2152e8c9f1d63e59.tar.gz
* Added some tests.
-rw-r--r--test-suite/ChangeLog4
-rw-r--r--test-suite/tests/symbols.test52
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)))