(module loud mzscheme (require "../loud.ss" (planet "test.ss" ("schematics" "schemeunit.plt" 1))) (provide loud-test) (define loud-test (make-test-suite "loud.ss" (make-test-case "string procedures" (let ((out (open-output-string)) (loudmouth (loud:wrap-strings-procedure string-append))) (parameterize ((current-output-port out)) (assert-equal? (parameterize ((loud? #f)) (loudmouth "a" "b")) "ab") (assert-equal? (get-output-string out) "") (assert-equal? (loudmouth "a" "b") "ab") (assert-equal? (get-output-string out) "a b\n")))) (make-test-case "pathlike procedures" (let ((out (open-output-string)) (loudmouth (loud:wrap-pathlikes-procedure/message cons "talk"))) (parameterize ((current-output-port out)) (assert-equal? (parameterize ((loud? #f)) (loudmouth "a" "b")) (cons "a" "b")) (assert-equal? (get-output-string out) "") (assert-equal? (loudmouth "a" "b") (cons "a" "b")) (assert-equal? (get-output-string out) "talk: a b\n")))) )) )