+++ /dev/null
-\r
-(define-syntax def-test\r
- (syntax-rules ()\r
- ((_ desc body ...)\r
- (register-test!\r
- (cons desc\r
- (lambda () body ...))))))\r
-\r
-(define-syntax check-error\r
- (syntax-rules ()\r
- ((_ expect expr)\r
- (let ((prev error))\r
- (define result\r
- (call/cc\r
- (lambda (err)\r
- (set! error err)\r
- expr)))\r
- (set! error prev)\r
- (equal? expect result)))))\r
-\r
-(define-syntax check-exception\r
- (syntax-rules ()\r
- ((_ expect expr)\r
- (equal? expect\r
- (call/cc\r
- (lambda (cont)\r
- (with-exception-handler\r
- (lambda (x) (cont x))\r
- (lambda () expr))))))))\r
-\r
-(define-syntax check-parse-error\r
- (syntax-rules ()\r
- ((_ expect expr)\r
- (begin\r
- (define etyp-matches? #f)\r
- (define emsg\r
- (with-output-to-string\r
- (lambda ()\r
- (set! etyp-matches?\r
- (equal? 'parse-error\r
- (call/cc\r
- (lambda (cont)\r
- (with-exception-handler\r
- (lambda (x) (cont x))\r
- (lambda () expr)))))))))\r
- ;(print "----")\r
- ;(print etyp-matches? " " (equal? emsg expect))\r
- ;(print "\"" emsg "\"\n")\r
- ;(print "\"" expect "\"\n")\r
- ;(print "----")\r
- (and etyp-matches? (equal? emsg expect))))))\r
-\r