diff options
author | Dirk Herrmann <dirk@dirk-herrmanns-seiten.de> | 2002-07-13 08:18:35 +0000 |
---|---|---|
committer | Dirk Herrmann <dirk@dirk-herrmanns-seiten.de> | 2002-07-13 08:18:35 +0000 |
commit | 9f04540330e22cb91c7da6f7f8ac272ea050de57 (patch) | |
tree | a8ade8ceade74e341788066934e8b5038b1c216a /test-suite/tests/goops.test | |
parent | 4f6f9ae3d35a15a908242d851e403a207ffb8cc0 (diff) | |
download | guile-9f04540330e22cb91c7da6f7f8ac272ea050de57.tar.gz |
* oop/goops.scm (define-class): Make sure that define-class will
continue to work when mmacros are expanded before execution.
* test-suite/tests/goops.test: Added tests for define-class.
Diffstat (limited to 'test-suite/tests/goops.test')
-rw-r--r-- | test-suite/tests/goops.test | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test-suite/tests/goops.test b/test-suite/tests/goops.test index 9705b19bc..ac78e8488 100644 --- a/test-suite/tests/goops.test +++ b/test-suite/tests/goops.test @@ -98,3 +98,18 @@ (pass-if "direct superclass" (equal? (class-direct-supers <class>) (list <object>))))) + +(with-test-prefix "defining classes" + + (with-test-prefix "define-class" + + (pass-if "creating a new binding" + (eval '(define <foo> #f) (current-module)) + (eval '(undefine <foo>) (current-module)) + (eval '(define-class <foo> ()) (current-module)) + (eval '(is-a? <foo> <class>) (current-module))) + + (pass-if "overwriting a binding to a non-class" + (eval '(define <foo> #f) (current-module)) + (eval '(define-class <foo> ()) (current-module)) + (eval '(is-a? <foo> <class>) (current-module))))) |