original commit: 9b6b93be97c191067910db25203a1fce399b64ca
This commit is contained in:
Matthew Flatt 2001-05-28 10:10:26 +00:00
parent 9fd02853e3
commit 6d3eb03530

View File

@ -0,0 +1,38 @@
(load-relative "loadtest.ss")
(SECTION 'awk)
(require (lib "awk.ss"))
(define-syntax (test-awk stx)
(syntax-case stx ()
[(_ val body ...)
(with-syntax ([next (datum->syntax-object stx 'next)]
[result (datum->syntax-object stx 'result)])
(syntax
(let* ([p (open-input-string "Hello world.")]
[next (lambda () (let ([o (read p)])
(if (eof-object? o)
o
(symbol->string o))))]
[r null]
[result (lambda (v)
(set! r (append r (list v))))])
body ...
(test val 'awk r))))]))
(test-awk '(hi there)
(awk (next) (str) ()
["ell" (result 'hi)]
["x" (result 'yikes)]
["orl" (result 'there)]))
(test-awk '("l" done)
(awk (next) (str) ()
[/ "el(l)" / (#f a) (result a)]
[(equal? str "world.") (result 'done)]))
(report-errs)