summaryrefslogtreecommitdiff
path: root/test-suite/tests/goops.test
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2009-10-25 22:49:28 +0100
committerLudovic Courtès <ludo@gnu.org>2009-10-25 22:49:28 +0100
commit288bbc44cf6f3839331a03649933f25d2361e06f (patch)
treedaaa744451b0f98cffb059faab2a005a8d963369 /test-suite/tests/goops.test
parent9a8eb5fb4641bd9ea83903624c8c71192fe0d0f6 (diff)
downloadguile-288bbc44cf6f3839331a03649933f25d2361e06f.tar.gz
Fix GOOPS `class-of' for nameless structs.
* libguile/goops.c (scm_class_of): Fix second argument for `scm_make_extended_class_from_symbol ()' for nameless structs. * test-suite/tests/goops.test ("classes for built-in types")["struct vtable"]: New test case.
Diffstat (limited to 'test-suite/tests/goops.test')
-rw-r--r--test-suite/tests/goops.test7
1 files changed, 6 insertions, 1 deletions
diff --git a/test-suite/tests/goops.test b/test-suite/tests/goops.test
index c060d12a6..c7a03d633 100644
--- a/test-suite/tests/goops.test
+++ b/test-suite/tests/goops.test
@@ -139,7 +139,12 @@
(eq? (class-of "foo") <string>))
(pass-if "port"
- (is-a? (%make-void-port "w") <port>)))
+ (is-a? (%make-void-port "w") <port>))
+
+ (pass-if "struct vtable"
+ ;; Previously, `class-of' would fail for nameless structs, i.e., structs
+ ;; for which `struct-vtable-name' is #f.
+ (is-a? (class-of (make-vtable-vtable "prprpr" 0)) <class>)))
(with-test-prefix "defining classes"