;;;; goops.test --- test suite for GOOPS -*- scheme -*-
;;;;
-;;;; Copyright (C) 2001,2003,2004, 2006, 2008, 2009, 2011 Free Software Foundation, Inc.
+;;;; Copyright (C) 2001,2003,2004, 2006, 2008, 2009, 2011, 2012 Free Software Foundation, Inc.
;;;;
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
(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>)))
+ (is-a? (class-of (make-vtable
+ (string-append standard-vtable-fields "prprpr")))
+ <class>)))
(with-test-prefix "defining classes"
(x #:accessor x #:init-value 123)
(z #:accessor z #:init-value 789))
(current-module))
- (eval '(equal? (x (make <qux>)) 123) (current-module)))))
-
+ (eval '(equal? (x (make <qux>)) 123) (current-module)))
+
+ (pass-if-exception "cannot redefine fields of <class>"
+ '(misc-error . "cannot be redefined")
+ (eval '(begin
+ (define-class <test-class> (<class>)
+ name)
+ (make <test-class>))
+ (current-module)))))
(with-test-prefix "defining generics"