You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
1.0 KiB
Racket
29 lines
1.0 KiB
Racket
#lang sugar/debug racket
|
|
(require rackunit
|
|
(for-meta 1 (only-in racket/base begin-for-syntax))
|
|
(for-meta 2 (only-in racket/base begin-for-syntax))
|
|
(for-meta 3 (only-in racket/base let #%app open-output-string get-output-string parameterize
|
|
current-error-port #%datum)
|
|
rackunit))
|
|
(let ([out (open-output-string)]
|
|
[let "something else"]
|
|
[local-require "something else entirely"]
|
|
[only-in "completely unexpected!"]
|
|
[report "well, not really"])
|
|
(parameterize ([current-error-port out])
|
|
#R5)
|
|
(check-equal? (get-output-string out) "5 = 5\n"))
|
|
(let ([out (open-output-string)]
|
|
[report/line "outta the blue!"])
|
|
(parameterize ([current-error-port out])
|
|
#RR5)
|
|
(check-equal? (get-output-string out) "5 = 5 on line 19\n"))
|
|
|
|
(begin-for-syntax
|
|
(begin-for-syntax
|
|
(begin-for-syntax
|
|
(let ([out (open-output-string)])
|
|
(parameterize ([current-error-port out])
|
|
#RR5)
|
|
(check-equal? (get-output-string out) "5 = 5 on line 27\n")))))
|