gca.el (tgosh.scm) の文字列テスト
(define (hello) (display "Hello World!\n Scheme"))
上記のような手続きを用意。その後 eval。
(hello) ; C-x C-e で eval Hello World! Scheme ;; インデント => #<undef>
ここで make-test C-t すると
(test* "Hello World!\n Scheme" (with-output-to-string (lambda () (hello))))
と current-output-port への出力を文字列 port への出力に変換しテストを生成してくれる。
すげー便利だし賢い!。
さらにもう少しがんばって
(test* "Hello World! Scheme" (with-output-to-string (lambda () (hello))))
のように改行させると、テストがとても見やすくなりそう。(pretty-printer を利用したテストの時にとても重宝しそう)
tgosh.scm をいじれば出来そうな気がしたのですが挫折した。
あまり関係ないですが run-scheme は cmuscheme.el で定義されているので今度読んでみよう。