sb-introspect: test-cases for defstruct copier, predicate, and accessor sources
authorNikodemus Siivola <nikodemus@random-state.net>
Fri, 10 Jun 2011 10:22:26 +0000 (13:22 +0300)
committerNikodemus Siivola <nikodemus@random-state.net>
Fri, 10 Jun 2011 10:26:02 +0000 (13:26 +0300)
 Feh. There were tests for even the cases that have worked for quite a while
 now.

contrib/sb-introspect/test-driver.lisp

index a444769..276e471 100644 (file)
       (type-equal (function-type #'nullary)
                   '(function () (values null &optional))))
   t)
+
+;;; Defstruct accessor, copier, and predicate
+
+(deftest defstruct-fun-sources
+    (let ((copier (find-definition-source #'cl-user::copy-three))
+          (accessor (find-definition-source #'cl-user::three-four))
+          (predicate (find-definition-source #'cl-user::three-p)))
+      (values (and (equalp copier accessor)
+                   (equalp copier predicate))
+              (equal "test.lisp"
+                     (file-namestring (definition-source-pathname copier)))
+              (equal '(5)
+                     (definition-source-form-path copier))))
+ t
+ t
+ t)
+
+(deftest defstruct-fun-sources-by-name
+    (let ((copier (car (find-definition-sources-by-name 'cl-user::copy-three :function)))
+          (accessor (car (find-definition-sources-by-name 'cl-user::three-four :function)))
+          (predicate (car (find-definition-sources-by-name 'cl-user::three-p :function))))
+      (values (and (equalp copier accessor)
+                   (equalp copier predicate))
+              (equal "test.lisp"
+                     (file-namestring (definition-source-pathname copier)))
+              (equal '(5)
+                     (definition-source-form-path copier))))
+ t
+ t
+ t)