Add variable documentation
[sheep] / src / test / main.lisp
index 572636ef8441419a4781a0698a7c53ca35609e8b..9bae683d13ec013175a444b8b52120f5def15fed 100644 (file)
@@ -52,7 +52,7 @@
 
 (defmacro deffailure-func-test (name doc expected)
  `(deftest
-   ,name
+   ,(format nil "Func - ~A" name)
    (lambda ()
     (handler-case
      (progn
         (string= ,expected result)
         (format t "  Got error:~%~S~%  but expected~%~S~%" result ,expected))))))))
 
+(defmacro deffailure-var-test (name doc expected)
+ `(deftest
+   ,(format nil "Var - ~A" name)
+   (lambda ()
+    (handler-case
+     (progn
+      (funcall
+       (symbol-function (find-symbol "INTERNAL-DOC->AST" :docgen-var))
+       '*unused*
+       ,doc)
+      nil)
+     (docgen:validation-failure (vf)
+      (let
+       ((result (funcall (symbol-function (find-symbol "VALIDATION-FAILURE-MSG" :docgen)) vf)))
+       (or
+        (string= ,expected result)
+        (format t "  Got error:~%~S~%  but expected~%~S~%" result ,expected))))))))
+
 (defsuccesstest :success1 "resources/success1.lisp" "resources/success1.md")
 (deffailuretest :emptydocs "resources/emptydocs.lisp"
  `((:failure :emptydocs "Package EMPTYDOCS has no documentation")